Déconnexion du client

Une fois que le client a terminé l’envoi et la réception des données, le client se déconnecte du serveur et arrête le socket.

Pour déconnecter et arrêter un socket

  1. Lorsque le client a terminé d’envoyer des données au serveur, la fonction d’arrêt peut être appelée en spécifiant SD_SEND pour arrêter le côté d’envoi du socket. Cela permet au serveur de libérer certaines des ressources pour ce socket. L’application cliente 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(ConnectSocket, SD_SEND);
    if (iResult == SOCKET_ERROR) {
        printf("shutdown failed: %d\n", WSAGetLastError());
        closesocket(ConnectSocket);
        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(ConnectSocket);
    WSACleanup();
    
    return 0;
    

Code source client complet

Prise en main avec Winsock

Application cliente Winsock

Envoi et réception de données sur le client