| Предыдущий | Следующий |
| ENOLINK | ENOMSG |
EOPNOTSUPP
Операция не соответствует семантике конечной точки
EOPNOTSUPP сообщает, что запрошенная операция не поддерживается этой транспортной конечной точкой. Solaris приводит конкретный пример: попытка принять соединение на дейтаграммной конечной точке. Сокет может быть допустимым и протокол может существовать; сама операция не соответствует коммуникационной модели конечной точки.
Это отделяет код от ESOCKTNOSUPPORT, который может возникнуть при создании сокета неподдерживаемого типа, и от ENOPROTOOPT, относящегося к параметру или уровню параметра. Ключевые свидетельства — сбойный API и тип сокета.
Сопоставьте API с типом конечной точки
- Запишите тип сокета и протокол при создании дескриптора, затем сопоставьте их с операцией, возвращающей
EOPNOTSUPP. - Проверьте оболочки, скрывающие, является ли конечная точка потоковой, дейтаграммной или с последовательностью пакетов.
- Не повторяйте бесконечно ту же неподдерживаемую операцию; измените последовательность API или тип конечной точки в соответствии с контрактом протокола.
Ссылки
- Oracle Solaris: каталог errno intro(2)
- POSIX: правила domain, type и protocol для socket()
- POSIX: назначение sendto() и семантика соединения
Нужно найти другой код? Найти другой код состояния или ошибки.