서버가 비정상적으로 종료돼었을때 다시 서버를 돌리면 멈춤현상
글쓴이: skymagic01 / 작성시간: 화, 2003/10/21 - 11:49오전
지금 C로 서버를 짜서 테스트를 하고있는데요
클라이언트에서 비정상적인 패킷을 보내어 서버가 다운댔는데요
다시 서버를 실행하면 클라이언트에서 접속을 못하거든요
클라이언트에서 접속을할때 서버가 안돌아가고 있으면
컨넥션 리퓨즈 이런 메세지라도 뜨는데
지금 이경우에는 클라이언트에서 접속을해면 멈추어있는데 이것은
왜그런건가요. 해결은 어떻게 해야하는지..
지금은 이상태가 되면 포트를 그냥 다른 번호로 바꿔써 하고있거든요..
Forums:
if (setsockopt(sock, SOL_SOCKET, SO_REUS
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0)
위 옵션을 사용하지 않고 서버가 비정상 종료를 하여 다시 실행하면 제가 경험으로는 binding error 가 나면서 서버가 실행 안되는걸루 알ㅇ고 있걸랑용.
원천적 해결은 되지 못하겟지만 위의 SO_REUSEADDR 옵션을 사용해보세용.
bind 하기전에 소켓만들고 사용하시면 됩니다.
hi 용
댓글 달기