프로그래밍/Unix/Linux
                
              socket bind 에러
                AlwaysNR
                 2015. 7. 9. 14:11
              
                          
            어떤 포트를 사용하는 프로그램이 종료 되면, 그 포트는 TIME_WAIT상태...
일정 시간이 지난 후 커널에서 해제됨.
TIME_WAIT 상태일때 bind요청을 하면 커널에서 거부.
이를 해결하기 위해 소켓이 재사용 되는것을 허용하면 됨.
......
int yes = 1;
if (setsockopt(server_sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) == -1) {
perror("setsockopt");
exit(1);
}
bind(server_sockfd, (struct sockaddr *)&server_address, server_len);
......
