RPC プログラムが登録解除される

RPC プログラムが登録解除される

初めてプラットフォーム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 構造からポートを設定/取得するときにと を
使用し、この問題を解決しました。これで、プログラムはポート マッパーに正常に登録されました。htonsntohs

関連情報