Что означает код ошибки Windows 10041 (WSAEPROTOTYPE)?

 
Предыдущий Следующий
WSAEMSGSIZE WSAENOPROTOOPT

WSAEPROTOTYPE

WSAEPROTOTYPE указывает на несовместимое сочетание параметров создания сокета. Запрошенный протокол не реализует модель обмена данными, подразумеваемую выбранным типом сокета. Типичный пример — выбор UDP при запросе потокового сокета: UDP ориентирован на датаграммы, тогда как SOCK_STREAM запрашивает надёжный поток байтов.

Как понимать три параметра создания

Сокет выбирается сочетанием семейства адресов, типа и протокола. Семейство задаёт пространство адресации, например IPv4 или IPv6; тип выбирает потоковую, датаграммную, raw или другую модель обмена; протокол должен быть совместим с обоими. Поэтому код указывает на вызов создания сокета или выбора поставщика, а не на ошибку сервера после начала подключения.

Полезные проверки

  • Запишите точное значение af, typeи protocol , переданный в socket или WSASocket.
  • Указывайте протокол 0, когда выбранные семейство и тип имеют однозначный протокол по умолчанию, если только не требуется конкретный транспорт.
  • Отделяйте настройку raw-сокетов и сокетов конкретного поставщика от обычной настройки TCP/UDP.

Microsoft: WSASocket · Microsoft: коды ошибок Winsock · The Open Group: socket


Нужно найти другой код? Найти другой код состояния или ошибки.