
Estou implantando meu ONC-RPC
aplicativo na Solaris x86
plataforma pela primeira vez.
Estava funcionando há anos em Solaris SPARC
plataforma.
Estou vendo um problema estranho.
Quando inicio meu processo principal, o programa rpc é registrado, o que posso ver em rpcinfo
.
536870992 1 tcp 0.0.0.0.76.169 - 500
Quando verifico o status do programa, recebo este erro:
rpcinfo -T tcp localhost 536870992
rpcinfo: RPC: Program not registered
Quando inicio outro processo, o registro do programa rpc anterior foi cancelado.
Isto é o que eu vejo emrpcinfo
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
Tenho dúvidas de que haja algum conflito de endereço.
0.0.0.0.76.169
e 0.0.0.0.80.169
compartilhe o mesmo último campo 169
.
Como o endereço é atribuído e quem o atribui?
Qual é a sua relevância?
Responder1
Eu descobri o problema. Eu estava enfrentando problemas de endianismo por causa da nova x86
plataforma.
Usei htons
e ntohs
ao configurar/obter porta de estruturas RPC de nível de sistema para resolver o problema. Agora o programa foi registrado com sucesso no mapeador de portas.