
처음으로 플랫폼 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