Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После завершения отправки и получения данных клиент отключается от сервера и завершает работу сокета.
Отключить и завершить работу сокета
Когда клиент завершит отправку данных на сервер, можно вызвать функцию завершения работы, указав 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;
Полный исходный код клиента
Связанные разделы