Network Programming

[TCP/IP]스트림 half-close

군자동꽃미남 2016. 6. 26. 18:09

호스트 A가 자신이 전송해야 할 모든 데이터를 전송하고 나서 출력 스트림을 종료한다.

그러나 입력 스트림은 종료하지 않았기 때문에 호스트 B로부터 데이터를 수신할 수 있다.

자신이 보내고자 하는 데이터를 다 보냈다 하더라도 상대방이 나에게 보낼 데이터가 있을지도 모른다는 생각에 입력 스트림은 종료하지 않고, 출력 스트림만 종료가 가능한다


=> 이것을 가능하게 하는 기능이 shutdown() 함수이다.


1
int shutdown(_In_ SOCKET s, _In_ int how);
cs
    • s : 종료하고자 하는 소켓의 소켓 핸들
    • how : 종료 모드
      • 0 : SD_RECEIVE : 입력 스트림 종료
      • 1 : SD_SEND : 출력 스트림 종료
      • 2 : SD_BOTH : 입출력 스트림 종료