소켓 select 관련 질문있습니다.

woooke의 이미지

서버를 테스트하기 위해 클라이언트를 하나 만들었습니다.

TCP로

한번 연결하고 크기를 100만큼 메시지를 날린 후, 응답 받고 바로 close를 하게 되는데

서버에서 응답을 준 후 이상하게 select 부분에서 이벤트가 한번 더 들어옵니다.

이 때문에 fin_wait2 상태가 되는거 같은데

크기 자체도 정확히 그 만큼 받고 응답을 주는데

왜 select에 이벤트가 한번 더 일어나는지 모르겠습니다.

어떤 이유가 있을 때, 이런 상황이 발생할 수 있는지 알고 싶습니다.

yukariko의 이미지

서버가 응답을 한 다음 half close를 해주면
클라이언트에게 끝이라는 0바이트짜리 신호를 전하게 됩니다.
아무래도 그것과 연관이 있지않나 싶네요.

woooke의 이미지

그것도 말씀하신 것과 연관이 있는건가요?
클라이언트는 정상종료됩니다...ㅠㅠ