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
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; }
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
Tópicos relacionados