본문 바로가기

웹 개발/네트워크

[C#] TCP/IP 소켓 프로그래밍_우아한종료

우아한종료

비정상적인 종료가 아닌 4way handshake 방식을 거쳐 종료되는 방식을 우아한 종료라 한다.

 

우아한종료 함수

  • public void Shutdown(SocketShutdown how)

      두 호스트 간에 소켓이 연결되면 각 호스트 별로 입출력 스트림이 형성된다. 

      입출력 스트림을 끊어서 send 나 receive 함수를 호출 못하게 하는 함수

 

      - SocketShutdown.Receive : 입력버퍼의 내용을 삭제하고 입력 스트림을 끊는다. 

      - SocketShutdown.Send: 출력버퍼의 내용을 전송한 후 출력 스트림을 끊는다. 

      - SocketShutdown.Both: receive와 send 함수를 동시에 실행하는 것과 같은 역할

 

  • public void Close()
  • public void Dispose() 

       입출력 스트림을 끊음과 동시에 소켓의 자원도 해제하게 된다. 

       상대방에게 fin packet을 전송한다.