클라이언트 연결 끊기
클라이언트가 데이터를 보내고 받는 작업이 완료되면 클라이언트는 서버에서 연결을 끊고 소켓을 종료합니다.
소켓의 연결을 끊고 종료하려면
클라이언트가 서버에 데이터 전송을 완료하면 소켓의 송신 쪽을 종료할 SD_SEND 지정하는 종료 함수를 호출할 수 있습니다. 이렇게 하면 서버가 이 소켓에 대한 일부 리소스를 해제할 수 있습니다. 클라이언트 애플리케이션은 여전히 소켓에서 데이터를 받을 수 있습니다.
// shutdown the send half of the connection since no more data will be sent iResult = shutdown(ConnectSocket, SD_SEND); if (iResult == SOCKET_ERROR) { printf("shutdown failed: %d\n", WSAGetLastError()); closesocket(ConnectSocket); WSACleanup(); return 1; }
클라이언트 애플리케이션이 데이터 수신을 완료하면 closesocket 함수가 호출되어 소켓을 닫습니다.
Windows 소켓 DLL을 사용하여 클라이언트 애플리케이션을 완료하면 WSACleanup 함수가 호출되어 리소스를 해제합니다.
// cleanup closesocket(ConnectSocket); WSACleanup(); return 0;
전체 클라이언트 소스 코드
관련 항목