Programming/Network
shutdown()과 closesocket()
shutdown(socket, SD_BOTH); closesocket(socket); 우리는 소켓을 종료 시킬 때 위와 같은 구문으로 소켓을 종료 시킨다. 그럼 각각의 함수가 어떤기능을 하는지 부터 살펴 본 후, 종료 과정에서 어떤일이 일어나는지 알아보자. 1. 접속 종료 과정 나중에 따로 다루겠지만 위 과정이 4-way handshake이다. 위 과정에 대해 순서대로 설명하자면, ① closesoket()이나 shutdown(SD_SEND)을 호출할 경우, 세션을 종료한다는 의미로 FIN 패킷을 전송한다. ② client는 FIN_WAIT_1 상태가 될것이고, server는 FIN을 받고 종료할 준비를 하게 될것이다. 준비가 완료되면 치CLOSE_WAIT 상태로 변경하고 잘 받았다는 의미로 ACK패킷을..
2015. 6. 15.