有人可以评论端口映射程序版本的决定方式和级别。实际上在 2 个不同的环境中,我得到了不同的过程和程序版本。在情况 1:我得到程序版本 2 和过程 GETPORT 在情况 2:我得到程序版本 4 和过程 GETADDR。
我如何确保在每种情况下都调用 GETPORT 而不是 GETADDR。
小混乱来自这样一个事实,即您使用的可能是同一个客户端,该客户端与portmap的两个“不同”服务通信,暴露为带有#100000
, version2
和rpcbind服务的程序,暴露为 program #100000
, version 4
。为了匹配正确的服务,使用program
和的组合version
。因此,bough 可以共享相同的TPC/UDP端口,但提供不同的服务。
返回注册程序的TCP/UDP 端口号,如:
GETPORT {'program': '100003', 'version': 4}
=>2049
返回注册程序的通用地址,如:
GETADDR {'program': '100003', 'version': 4, 'netid': 'tcp'}
=>0.0.0.0.8.1
典型的rpcbind
服务也支持该portmap
协议。