Trennen des Servers
Sobald der Server abgeschlossen ist, Daten vom Client zu empfangen und Daten zurück an den Client zu senden, trennt der Server die Verbindung mit dem Client und beendet den Socket.
So trennen Und Herunterfahren eines Sockets
Wenn der Server mit dem Senden von Daten an den Client fertig ist, kann die Funktion zum Herunterfahren aufgerufen werden, um SD_SEND zum Herunterfahren der Sendeseite des Sockets anzugeben. Dadurch kann der Client einige Ressourcen für diesen Socket freigeben. Die Serveranwendung kann weiterhin Daten auf dem Socket empfangen.
// 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; }
Wenn die Clientanwendung mit dem Empfang von Daten fertig ist, wird die Funktion closesocket aufgerufen, um den Socket zu schließen.
Wenn die Clientanwendung mithilfe der Windows Sockets-DLL abgeschlossen ist, wird die WSACleanup-Funktion aufgerufen, um Ressourcen freizugeben.
// cleanup closesocket(ClientSocket); WSACleanup(); return 0;
Vollständiger Serverquellcode
Zugehörige Themen