| Предыдущий | Следующий |
| ESOCKTNOSUPPORT | EUSERS |
EBADMSG
Сохраните контекст протокола
EBADMSG означает, что сообщение не прошло проверку на границе протокола или кадрирования. Это не обязательно транспортный сбой: байты могли быть получены, но их структура, данные аутентификации, последовательность, контрольная сумма или формат сообщения оказались неприемлемыми для получателя.
Способ исправления зависит от контракта протокола. Зафиксируйте ограниченное и очищенное от секретов представление сообщения, этап синтаксического анализа, согласованную версию и идентичность удалённой стороны. Слепое повторение той же полезной нагрузки вряд ли поможет и может усугубить проблему повреждённого ввода или несовместимости.
Что сравнить
- Ожидаемые и полученные длину сообщения, версию, тип и поля целостности.
- Не изменили ли байты при передаче прокси, сериализатор, слой сжатия или преобразование символов.
- Близкие события
EPROTO:EBADMSGотносится к недопустимому сообщению, тогда какEPROTOописывает более общий сбой состояния протокола.
Ссылки
- Apple XNU: определения errno Darwin
- Справочник системных вызовов Apple: EBADMSG и ошибки протокола
- Интерфейсы POSIX для приёма сообщений
Нужно найти другой код? Найти другой код состояния или ошибки.