Что означает код errno 73 (ERPCMISMATCH)?

 
Также может означать:
КонстантаТипОС
EDOTDOTerrnoLinux
ENOTACTIVEerrnoSolaris
PAGE_FAULT_WITH_INTERRUPTS_OFFКод BSODWindows
Предыдущий Следующий
EDOTDOT ENOTACTIVE

ERPCMISMATCH

ERPCMISMATCH — Darwin errno для несовпадения версии протокола ONC RPC. Код относится к внешнему протоколу RPC, а не к версии конкретной удалённой программы, такой как NFS, NIS или другая служба RPC. В ONC RPC версии 2 тело вызова содержит отдельное поле rpcvers; RFC 5531 требует, чтобы оно имело значение 2.

Протокол отличает этот случай от ошибок после принятия вызова. Ответ RPC с RPC_MISMATCH отклоняет сообщение, поскольку сервер не может работать с версией протокола RPC вызывающей стороны, и содержит минимальную и максимальную поддерживаемые версии RPC. Поэтому Darwin ERPCMISMATCH нельзя подменять кодом EPROGMISMATCH, относящимся к версии запрошенной удалённой программы.

Что проверить

  • Сохраните отклонённый ответ RPC вместе с минимальным и максимальным значениями версии из RPC_MISMATCH. Эти значения являются конкретным доказательством возможностей другой стороны.
  • Отдельно запишите программу RPC, версию программы, номер процедуры, транспорт и конечную точку. Эти поля не заменяют версию протокола RPC.
  • Убедитесь, что достигнута предполагаемая конечная точка ONC RPC. Неправильный посредник, устаревшая служба или другой компонент, говорящий по протоколу, может вызвать несовместимость, даже если ожидаемый прикладной сервер поддерживает нужную службу.
  • Не меняйте версию удалённой программы только из-за этого кода в журнале. Изменение версии программы устраняет EPROGMISMATCH, а не отказ сетевого протокола RPC.

Связанные статусы

  • ERPCMISMATCH: несовместима сама версия протокола RPC.
  • EPROGMISMATCH: программа RPC существует, но не поддерживает запрошенную версию программы.
  • EPROGUNAVAIL: удалённая конечная точка не экспортирует запрошенную программу.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.