
Ich stelle meine ONC-RPC
Anwendung Solaris x86
zum ersten Mal auf der Plattform bereit.
Sie hat dort jahrelang funktioniert Solaris SPARC
.
Ich sehe ein seltsames Problem.
Wenn ich meinen Hauptprozess starte, wird das RPC-Programm registriert, was ich in sehen kann rpcinfo
.
536870992 1 tcp 0.0.0.0.76.169 - 500
Wenn ich den Status des Programms überprüfe, erhalte ich diese Fehlermeldung:
rpcinfo -T tcp localhost 536870992
rpcinfo: RPC: Program not registered
Wenn ich einen anderen Prozess starte, wird das vorherige RPC-Programm abgemeldet.
Das ist, was ich sehe inrpcinfo
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
Ich habe den Verdacht, dass ein Adresskonflikt vorliegt
0.0.0.0.76.169
und 0.0.0.0.80.169
das letzte Feld dasselbe ist 169
.
Wie und wer vergibt Adressen?
Welche Bedeutung hat dies?
Antwort1
Ich habe das Problem herausgefunden. Ich hatte wegen der neuen x86
Plattform Probleme mit der Byte-Reihenfolge.
Ich habe htons
und ntohs
beim Festlegen/Abrufen des Ports von RPC-Strukturen auf Systemebene verwendet, um das Problem zu lösen. Jetzt ist das Programm erfolgreich beim Port-Mapper registriert.