Udostępnij za pośrednictwem


Odłączanie klienta

Po zakończeniu wysyłania i odbierania danych klient rozłącza się z serwerem i zamyka gniazdo.

Aby odłączyć i zamknąć gniazda

  1. Po zakończeniu wysyłania danych na serwer klient może wywołać funkcjęzamykania, określając SD_SEND, aby zamknąć stronę wysyłania gniazda. Dzięki temu serwer może zwolnić niektóre zasoby dla tego gniazda. Aplikacja kliencka nadal może odbierać dane w gniazdach.

    // 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. Gdy aplikacja kliencka zakończy odbieranie danych, wywoływana jest funkcja zamyka w celu zamknięcia gniazda.

    Po zakończeniu pracy aplikacji klienckiej przy użyciu biblioteki Windows Sockets DLL funkcja WSACleanup jest wywoływana w celu zwolnienia zasobów.

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

Ukończ kod źródłowy klienta

Rozpoczynanie pracy z Winsock

Aplikacja kliencka Winsock

Wysyłanie i Odbieranie Danych przez Klienta