Desconectando o cliente

Depois que o cliente é concluído enviando e recebendo dados, o cliente se desconecta do servidor e desliga o soquete.

Para desconectar e desligar um soquete

  1. Quando o cliente terminar de enviar dados para o servidor, a função de desligamento poderá ser chamada especificando SD_SEND para desligar o lado de envio do soquete. Isso permite que o servidor libere alguns dos recursos para esse soquete. O aplicativo cliente ainda pode receber dados no soquete.

    // 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. Quando o aplicativo cliente termina de receber dados, a função closesocket é chamada para fechar o soquete.

    Quando o aplicativo cliente é concluído usando a DLL do Windows Sockets, a função WSACleanup é chamada para liberar recursos.

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

Concluir o código-fonte do cliente

Introdução com Winsock

Aplicativo cliente Winsock

Enviando e recebendo dados no cliente