Share via


クライアントの切断

クライアントがデータの送受信を完了すると、クライアントはサーバーから切断し、ソケットをシャットダウンします。

ソケットを切断してシャットダウンするには

  1. クライアントがサーバーへのデータの送信を完了すると、ソケットの送信側を シャットダウン する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;
    }
    
  2. クライアント アプリケーションがデータの受信を完了すると、 closesocket 関数が呼び出されてソケットが閉じられます。

    Windows ソケット DLL を使用してクライアント アプリケーションが完了すると、 WSACleanup 関数が呼び出されてリソースが解放されます。

    // cleanup
    closesocket(ConnectSocket);
    WSACleanup();
    
    return 0;
    

完全なクライアント ソース コード

winsock ではじめにする

Winsock クライアント アプリケーション

クライアントでのデータの送受信