| Предыдущий | Следующий |
| EWOULDBLOCK | ELNRNG |
EPROTOTYPE
Протокол и тип сокета не образуют допустимое сочетание
EPROTOTYPE обозначает несоответствие значений, использованных при создании или настройке сокета. Семейство может поддерживаться, а протокол существовать, но этот протокол не подходит выбранному типу сокета.
Записывайте вместе все три входных параметра: семейство адресов, тип SOCK_* и номер протокола. Анализ только имени протокола может скрыть несоответствие, особенно если оболочка выбирает протокол по умолчанию для одних типов сокета и явный протокол для других.
Отличия от похожих ошибок создания
EPROTONOSUPPORTозначает, что сам запрошенный протокол недоступен в выбранном семействе.ESOCKTNOSUPPORTозначает неподдерживаемый тип сокета; POSIX отмечает, что реализации исторически различались в выборе этих кодов для сочетания типа и протокола.EAFNOSUPPORTприменяется, когда семейство адресов не соответствует сокету или адресу, используемому операцией.
Диагностическое действие
Сведите ошибку к точному вызову socket(domain, type, protocol) или более позднему API, задавшему специфичное для протокола поведение. Не считайте это недоступностью удалённого узла: пока не создан пригодный локальный сокет, удалённая сторона не участвует.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.