
Estoy implementando mi ONC-RPC
aplicación en Solaris x86
la plataforma por primera vez.
Estuvo funcionando durante años en Solaris SPARC
plataforma.
Estoy viendo un problema extraño.
Cuando inicio mi proceso principal, se registra el programa rpc, que puedo ver en rpcinfo
.
536870992 1 tcp 0.0.0.0.76.169 - 500
Cuando verifico el estado del programa, aparece este error:
rpcinfo -T tcp localhost 536870992
rpcinfo: RPC: Program not registered
Cuando inicio otro proceso, se canceló el registro del programa rpc anterior.
Esto es lo que veo enrpcinfo
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
Tengo la duda de que haya algún conflicto de direcciones.
0.0.0.0.76.169
y 0.0.0.0.80.169
compartir el mismo último campo 169
.
¿Cómo se asigna la dirección y quién la asigna?
¿Cuál es su relevancia?
Respuesta1
Descubrí el problema. Me enfrentaba a problemas de endianidad debido a la nueva x86
plataforma.
Utilicé htons
y ntohs
mientras configuraba/obtenía el puerto de las estructuras RPC a nivel del sistema para resolver el problema. Ahora el programa se registró exitosamente con el asignador de puertos.