bind() 함수는 다음과 같이 정의됩니다.
#include <sys/socket.h>
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
Assign an address to a socket
▪ sockfd : socket에 대한 file descriptor
▪ addr : socket에 배정한 address(IP address and port number)
▪ addrlen : addr에 의해 가르켜진(pointed)된 address structure의 size(bytes)
▪ Return value
• Success: 0 • Error: -1
▪ Example
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(atoi(argv[1]));
if (bind(serv_sock, (struct sockaddr*) &serv_addr, sizeof(serv_addr)) == -1)
error_handling("bind() error");
즉, parameter로 들어온 socket의 address정보를 mapping하는 함수
길이와 주소값을 알 수 있다.