クライアントの切断
クライアントがデータの送受信を完了すると、クライアントはサーバーから切断し、ソケットをシャットダウンします。
ソケットを切断してシャットダウンするには
クライアントがサーバーへのデータの送信を完了すると、ソケットの送信側を シャットダウン する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;
完全なクライアント ソース コード
関連トピック