TCP 유휴상태? 질문입니다.
글쓴이: k2sguard / 작성시간: 목, 2013/02/28 - 12:53오후
안녕하세요. 초보 개발자가 또 질문을 올립니다.
서버와 클라이언트간 TCP로 연결되어있고
클라이언트는 송신만 합니다. 그래서 따로
recv(TCPID, &buf, 1, MSG_PEEK);
를 쓰레드로 무한 루프 돌려 계속 서버와의 종료 상태를 체크 합니다.
그런데 장시간 서버와 클라이언트간의 통신이 없으면
저 클라이언트 recv 에서 0 값이 옵니다. (서버는 아무런 send를 하지 않았습니다.)
프로그램상 recv 0 이 오면 서버쪽에서 정상 종료된걸로 보고 따로 close(TCP_ID); 하지 않았으나
서버에서 클라이언트 종료를 모르고있어서 close(TCP_ID);를 실행 해 주었습니다.
그런데도 서버에서는 클라이언트가 종료가 떨어지지 않더군요..
왜그런걸까요...?
감사합니다.
Forums:
댓글 달기