![RPC 程序被取消注册](https://linux22.com/image/622307/RPC%20%E7%A8%8B%E5%BA%8F%E8%A2%AB%E5%8F%96%E6%B6%88%E6%B3%A8%E5%86%8C.png)
这是我第一次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
平台,我遇到了字节序问题。
我在从系统级 RPC 结构设置/获取端口时使用了htons
和ntohs
来解决这个问题。现在该程序已成功注册到端口映射器。