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
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; }
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
Argomenti correlati