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