TCP 통신의 half close 상태에서 꼭 close() 나 shutdow() 을 호출해야 하는지 알고 싶습니다.

trymp의 이미지


linux 가 깔린 pc A 와 pc B 가 TCP 통신을 할 때, pc A 가 먼저 close()해서 fin 을 보낼 경우,

fin 을 받고 ack 로 응답해서 pc B 는 half close 상태가 되잖아요.

그 때, pc B의 daemon 에서 close() 나 shutdown () 같은 시스템 콜을 호출하지 않으면,

계속 그 세션은 half close 상태로 남아 있게 되나요?

세션이 사라지지 않고 비정상적으로 남아 있는지 궁금합니다.

daemon에서는 어떻게 지금이 half close 상태인지 알수 있죠??

half close 인지를 알아야 close() 를 호출할 것 같은데...

고수님들의 조언 부탁드립니다.

shint의 이미지

http://blog.naver.com/ssoouull/20043411279
http://nobless_05.blog.me/50083160582

half close는 송신(보낸)한 쪽이 출력을 닫으면.
수신(받는)쪽이 eof(-1)을 리턴하고. 응답'을 할 수있다고 합니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

trymp의 이미지

...