2013. 10. 31. 17:20 C언어
bind 에러 해결 방법
close 함수로 소켓을 소멸 시켜도 커널은 바로 소멸 시키지 않고 몇초정도 유지시킴
클라이언트와 처리되지 않은 전문을 마저 처리하도록
bind 된 소켓이 아직 소멸되지 않았는데 같은 주소, 같은 포트로 또 다른 소켓이 bind 요청하니
에러 발생
해결 방법 : 소켓에 옵션 설정
option = 1; // SO_REUSEADDR 의 옵션 값을 TRUE 로
setsockopt( server_socket, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option) );
SO_REUSEADDR을 지정해 주면 같은 포트에 대해 다른 소켓이 bind()되는 것을 허락해 주기 때문에 bind() 에러 발생 안함
'C언어' 카테고리의 다른 글
리눅스(우분투 10.10) 공유 메모리 예제 2 (0) | 2013.11.07 |
---|---|
리눅스(우분투 10.10) 공유 메모리 예제 (0) | 2013.11.07 |
다중 입출력 함수 select (0) | 2013.10.28 |
c++ 공부 요점정리 1 (0) | 2013.10.26 |
C#에서 printf 대신 출력 방법 (0) | 2013.10.25 |