Что означает код errno 75 (EPROGMISMATCH)?

 
Также может означать:
КонстантаТипОС
EOVERFLOWerrnoLinux
STREAMS_INTERNAL_ERRORКод BSODWindows
Предыдущий Следующий
EOVERFLOW ENOTUNIQ

EPROGMISMATCH

EPROGMISMATCH — ошибка Darwin для несовпадения версии удалённой программы ONC RPC. Сервер принял вызов RPC и распознал программу, но не может обслужить запрошенную версию этой программы. Код намеренно уже ошибки версии самого протокола RPC: внешний протокол RPC может быть допустимым, а версия прикладной службы — несовместимой.

RFC 5531 определяет PROG_MISMATCH для такого принятого вызова. Ответ содержит минимальную и максимальную версии программы, поддерживаемые удалённым сервером. Эти границы являются ключевыми данными: они показывают, выбрал ли клиент устаревшую или слишком новую версию либо обратился к развёртыванию службы с другим диапазоном совместимости.

Используйте диапазон версий, а не предположения

  • Сохраните запрошенные номер и версию программы вместе с предоставленными сервером минимальной и максимальной поддерживаемыми версиями.
  • Сравните определение интерфейса RPC и сгенерированные заглушки клиента с развёрнутым сервером, а не только с исходным кодом другой ветви или среды.
  • Для такой службы, как NFS, определите версию протокола, настроенную на клиенте и сервере. Сервер может быть доступен и экспортировать программу, но отклонять конкретно запрошенную версию.
  • Учитывайте состояние развёртывания: смешанные версии серверов за одной конечной точкой могут приводить к успеху одного и отказу другого узла для одинакового запроса.

Чего этот код не означает

  • Это не ERPCMISMATCH; тот код относится к версии сетевого протокола RPC.
  • Это не EPROGUNAVAIL; здесь программа существует, но запрошенная версия находится вне поддерживаемого диапазона.
  • Это не EPROCUNAVAIL; тот код относится к процедуре, отсутствующей в уже выбранных программе и версии.

Ссылки


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