Share via


Disconnessione del server

Dopo aver completato la ricezione dei dati dal client e l'invio di dati al client, il server si disconnette dal client e arresta il socket.

Per disconnettere e arrestare un socket

  1. Al termine dell'invio dei dati al client, la funzione di arresto può essere chiamata specificando SD_SEND per arrestare il lato di invio del socket. Ciò consente al client di rilasciare alcune delle risorse per questo socket. L'applicazione server può comunque ricevere dati nel socket.

    // 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;
    }
    
  2. Quando l'applicazione client riceve i dati, la funzione closesocket viene chiamata per chiudere il socket.

    Al termine dell'applicazione client usando la DLL Di Windows Sockets, la funzione WSACleanup viene chiamata per rilasciare le risorse.

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

Codice sorgente del server completo

Introduzione con Winsock

Applicazione Winsock Server

Ricezione e invio di dati nel server

Esecuzione dell'esempio di codice client e server Winsock