| Предыдущий | Следующий |
| ECHRNG | EL2HLT |
ESOCKTNOSUPPORT
При создании сокета не поддерживается именно тип
ESOCKTNOSUPPORT указывает на тип сокета, отсутствующий в целевом семействе. Тип задаёт семантику сообщений, например потоковую или дейтаграммную доставку; это не просто настройка производительности, которую можно незаметно заменить.
POSIX отмечает исторические различия между ESOCKTNOSUPPORT, EPROTONOSUPPORT и EPROTOTYPE для неподдерживаемых сочетаний типа и протокола. Для диагностики сохраняйте всю тройку аргументов, а не считайте, что имя ошибки всегда точно указывает поле.
Важные проверки
- Запишите domain, type с флагами и номер protocol.
- Проверьте, не запросила ли переносимая обёртка тип, существующий в другой ОС, но не в этом семействе macOS.
- Отделяйте выбор типа от выбора конечной точки: изменение имени узла или порта не добавит локально неподдерживаемый тип.
Замена требует изменения проекта протокола
Замена потокового сокета дейтаграммным или наоборот меняет порядок, границы сообщений, повторы и обработку ошибок. Резервный вариант допустим только если протокол приложения спроектирован для этой семантики.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.