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

 
Предыдущий Следующий
WSAEPFNOSUPPORT WSAEADDRINUSE

WSAEAFNOSUPPORT

WSAEAFNOSUPPORT указывает на несоответствие семейства адресов. Сокет мог быть успешно создан, но адрес, позже переданный connect, bind, sendtoили аналогичному вызову, относится к семейству, которое нельзя использовать с этим сокетом.

Частая ошибка IPv4/IPv6

Сокет IPv4 ожидает структуру IPv4 sockaddr_in; сокет IPv6 ожидает sockaddr_in6. Передача неправильной структуры, копирование адреса без сохранения семейства или использование устаревшей кэшированной конечной точки после изменения политики разрешения имён может привести к этому коду. Он отличается от WSAEPFNOSUPPORT: второй относится к доступности семейства протоколов, а этот — к конкретному адресу, переданному сокету.

Что записывать в журнал

  • Семейство создания сокета, поле sa_family адреса и точную длину структуры.
  • Вернуло ли разрешение имён IPv4, IPv6 или оба варианта и как выбранный результат сопоставлялся сокету.
  • Политику двойного стека и предположения приложения о IPV6_V6ONLY .

Microsoft: connect · Microsoft: GetAddrInfo · The Open Group: семейства адресов сокетов


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