Table of Contents
Обновлено
Вы можете столкнуться с ошибкой, связанной с исходным кодом winsock. Остается несколько способов решить эту проблему, и большинство людей скоро с ней справятся. г.Пользователи сокетов с Winsock Windows API для разработки сокетов называется winsock. Сокеты – это основные «вещи», лежащие в основе любого типа сетевого взаимодействия, которое делает ваш электронный компьютер.
г.<ул>
Является ли Winsock API?
Windows Socket API, также известный как Winsock, представляет собой новый тип рабочего интерфейса разработчика приложений (API), используемый для связи между рекламным программным обеспечением Windows относительно сетевых служб. В основном это протокол управления передачей / интернет-протокол (TCP / IP) и происходит из программы сокетов Berkeley Unix.
Ниже приведено полное начальное значение для базового приложения Winsock TCP и IP Server.
Исходный код сервера Winsock
#undef UNICODE# определить WIN32_LEAN_AND_MEAN#include #include #include #include #include // Должна быть связана с Ws2_32.lib# прагматический комментарий (lib, "Ws2_32.lib")// #pragma little (lib, "Mswsock.lib")#define DEFAULT_BUFLEN 512#define DEFAULT_PORT "27015"базовый интервал __cdecl (недействительный) всадата всадата; Интервал iResult; SOCKET ListenSocket = INVALID_SOCKET; SOCKET ClientSocket = INVALID_SOCKET; структура addrinfo * результат = NULL; совет структуры addrinfo; интервал iSendResult; char recvbuf [DEFAULT_BUFLEN]; int recvbuflen = DEFAULT_BUFLEN; // инициализируем WinSock iResult подразумевает WSAStartup (MAKEWORD (2,2) и wsaData); если один раз (iResult! = 0) printf("Ошибка запуска WSAS из-за ошибки которая поможет: %dn", iResult); Возврат 1; ZeroMemory (и профессиональный обзор, sizeof (обзор)); hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; hints.ai_flags означает AI_PASSIV; // Разрешение в пределах адреса сервера и порта iResult приравнивается к getaddrinfo (NULL, DEFAULT_PORT, & подсказки, & результат); если (результат! = 0) printf("getaddrinfo не удалось выполнить ошибка:%dn", iResult); wsacleanup (); Возврат 1; // Создаем SOCKET для подключения к серверу ListenSocket означает сокет (результат->ai_family, результат->ai_socktype, результат->ai_protocol); если (ListenSocket == INVALID_SOCKET) printf("Сокет не удался с ошибкой: %ldn", WSAGetLastError()); freeaddrinfo (результат); wsacleanup (); Возврат 1; // Настраиваем прослушивающий сокет TCP iResult=bind(ListenSocket,result->ai_addr,(int)result->ai_addrlen); если (iResult == SOCKET_ERROR) printf("Ошибка связи: %dn", WSAGetLastError()); freeaddrinfo (результат); закрыть сокет (ListenSocket); wsacleanup (); Возврат 1; freeaddrinfo (результат); iResult = слушать (ListenSocket, SOMAXCONN); пока (iResult == SOCKET_ERROR) printf("Список выброшенных ошибок: %dn", WSAGetLastError()); закрыть сокет (ListenSocket); wsacleanup (); восстановить 1; // Принять точку продажи ClientSocket = принять (ListenSocket, NULL, NULL); если (ClientSocket == INVALID_SOCKET) printf("Прием был неудачным с ошибкой: %dn", WSAGetLastError()); закрыть сокет (ListenSocket); wsacleanup (); Возврат 1; // Сокет сервера больше не требуется закрыть сокет (ListenSocket); // Получать до тех пор, пока партнер не завершит конкретное соединение сделать iResult эквивалентен тому, чтобы убедиться, что вы получили (ClientSocket, recvbuf, recvbuflen, 0); если (результат > 0) printf("Получено байт: %dn", iResult); // Возвращаем буфер отправителю iSendResult = отправить (ClientSocket, recvbuf, iResult, null); в любое время (iSendResult == SOCKET_ERROR) printf("Загрузка перестала работать с ошибкой: %dn", WSAGetLastError()); закрыть сокет (ClientSocket); wsacleanup (); Возврат 1; printf("Отправлено байт: %dn", iSendResult); иначе, если (iResult == 0) printf("Закрыть соединение...n"); Далее, чтобы убедиться, что вы printf("Ошибка приема, ошибка: %dn", WSAGetLastError()); закрыть сокет (ClientSocket); WSACleup (); повторить 1; (Результат > 0); // Завершаем соединение, когда закончим iResult = выключение (ClientSocket, SD_SEND); и если (iResult == SOCKET_ERROR) printf("Остановка не удалась из-за ошибки: %dn", WSAGetLastError()); закрыть сокет (ClientSocket); WSACleup (); Возврат 1; // Чистый закрыть сокет (ClientSocket); WSACleup (); Возвращает 0; <дл> <дт>
Обновлено
Вы устали от того, что ваш компьютер работает медленно? Раздражают разочаровывающие сообщения об ошибках? ASR Pro - это решение для вас! Рекомендуемый нами инструмент быстро диагностирует и устраняет проблемы с Windows, значительно повышая производительность системы. Так что не ждите больше, скачайте ASR Pro сегодня!
<дт>
Запустите пример кода клиента и сервера Winsock
<дт>
Введите код домовладельца Winsock
Как получить доступ к Winsock?
Откройте эту команду быстро как администратор.Введите следующую команду и нажмите Enter: netsh winsock reset. Команда должна возвращать такие достопримечательности, как следующие:Перезагрузите компьютер с Windows. Вы можете перезапустить Windows с помощью команды shutdown / are в командной строке.
Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.
Winsock Source Code
Kod źródłowy Winsock
Code Source Winsock
Código Fuente De Winsock
Winsock-broncode
Código Fonte Winsock
Winsock-Quellcode
Codice Sorgente Winsock
Winsock 소스 코드
Winsock Källkod
г.