| Предыдущий | Следующий |
| ENETDOWN | EADDRINUSE |
EPROTO
Шире одного некорректного сообщения
EPROTO — ошибка протокола. В Darwin системный справочник описывает её как зависящую от устройства и обычно отдельную от аппаратной неисправности. Код может отражать неверную последовательность обмена, неподдерживаемый переход, нарушение контракта framing или другое состояние ответственного протокольного уровня.
Не диагностируйте это как «сеть недоступна» без подтверждения. Сохраните имя протокола, роль, состояние соединения или устройства, последний успешный переход и запрос, вызвавший ошибку. Для сеанса с состоянием может подходить переподключение, но только после определения, могла ли удалённая сторона обработать запрос.
Полезное разделение
EBADMSGуказывает на плохое сообщение;EPROTOможет включать неверный переход состояния или нарушение контракта протокола.EPROTONOSUPPORTозначает отсутствие реализации протокола;EPROTOозначает сбой при использовании существующей реализации.- Сохраняйте трассировки протокола с удалёнными секретами, а не только конечное errno.
Ссылки
- Apple XNU: определения errno Darwin
- Справочник системных вызовов Apple: EPROTO
- POSIX: модель сообщения об ошибках интерфейса
Нужно найти другой код? Найти другой код состояния или ошибки.