
Я впервые развертываю свое ONC-RPC
приложение на платформе. Оно работало на платформе годами. Solaris x86
Solaris SPARC
Я наблюдаю странную проблему.
Когда я запускаю свой основной процесс, программа rpc регистрируется, что я вижу в rpcinfo
.
536870992 1 tcp 0.0.0.0.76.169 - 500
При проверке статуса программы я получаю следующую ошибку:
rpcinfo -T tcp localhost 536870992
rpcinfo: RPC: Program not registered
При запуске другого процесса предыдущая программа rpc отменяется.
Вот что я вижу вrpcinfo
program version netid address service owner
1073742167 1 tcp 0.0.0.0.79.169 - 500
536871232 4 tcp 0.0.0.0.80.169 - 500
У меня есть подозрение, что есть конфликт адресов
0.0.0.0.76.169
и 0.0.0.0.80.169
последнее поле совпадает 169
.
Как и кто присваивает адрес?
Какова его релевантность?
решение1
Я обнаружил проблему. Я столкнулся с проблемами порядка байтов из-за новой x86
платформы.
Я использовал htons
и ntohs
при установке/получении порта из структур RPC системного уровня, чтобы решить проблему. Теперь программа успешно зарегистрирована в порт-картографе.