Отключение клиента
После завершения отправки и получения данных клиент отключается от сервера и завершает работу сокета.
Отключение и завершение работы сокета
Когда клиент завершает отправку данных на сервер, можно вызвать функцию завершения работы , указав SD_SEND для завершения работы отправляющей стороны сокета. Это позволяет серверу освободить некоторые ресурсы для этого сокета. Клиентское приложение по-прежнему может получать данные в сокете.
// 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; }
Когда клиентское приложение завершает получение данных, вызывается функция closesocket для закрытия сокета.
Когда клиентское приложение завершается с помощью библиотеки DLL Windows Sockets, вызывается функция WSACleanup для освобождения ресурсов.
// cleanup closesocket(ConnectSocket); WSACleanup(); return 0;
Полный исходный код клиента
Связанные темы