我第一次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
。
地址是如何分配的以及是谁分配的?
它的相关性是什么?
我发现了这个问题。由于新
x86
平台,我面临字节序问题。我使用
htons
andntohs
同时从系统级 RPC 结构设置/获取端口来解决问题。现在程序已成功注册到端口映射器。