웹 개발/네트워크
[C#] TCP/IP 소켓 프로그래밍_우아한 종료
배세
2023. 8. 29. 21:51
우아한 종료
- 4 way handshake 과정을 거쳐 종료하는 것을 우아한 종료라 한다.
- public void Shutdown(SocketShutdown how)
- 각 호스트 별로 입/출력 스트림이 형성.
- 이러한 입/출력 스트림을 끊어서 send나 receive 함수를 호출 못하게 하는 함수
- SocketShutdown.Receive : 입력버퍼의 내용을 전부 삭제하고 입력 스트림을 끊는다.
- SocketShutdown..Send : 출력버퍼의 데이터를 전송한 후 출력 스트림을 끊는다.
- SocketShutdown.Both : Receive와 Send 두 가지를 동시에 한다.
- Both와 Send 는 fin 패킷을 보내면서 4way handshke 과정을 유도
- Receive는 fin 패킷을 보내지 않는다.
- public void Close()
- public void Dispose()
- 입/출력 스트림을 끊음과 동시에 소켓의 자원까지 해제한다.
- 상대방에게 fin패킷 전송