Partager via


Déconnexion du serveur

Une fois que le serveur a terminé de recevoir les données du client et de renvoyer les données au client, le serveur se déconnecte du client et arrête le socket.

Pour déconnecter et arrêter un socket

  1. Lorsque le serveur a terminé d’envoyer des données au client, la fonction d’arrêt peut être appelée en spécifiant SD_SEND pour arrêter le côté envoi du socket. Cela permet au client de libérer certaines des ressources pour ce socket. L’application serveur peut toujours recevoir des données sur le 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. Lorsque l’application cliente reçoit des données, la fonction closesocket est appelée pour fermer le socket.

    Lorsque l’application cliente est terminée à l’aide de la DLL Windows Sockets, la fonction WSACleanup est appelée pour libérer des ressources.

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

Code source du serveur complet

Prise en main avec Winsock

Application serveur Winsock

Réception et envoi de données sur le serveur

Exécution de l’exemple de code client et serveur Winsock