有人能帮上忙吗?我被卡住了。我有一个EC2实例和一个在本地运行良好的客户机/服务器Sun RPC应用程序。
服务器部分在EC2实例上运行正常(启动、等待客户端连接。
在我的家用PC上运行的客户端部分总是说:
localhost: RPC: Remote system error - Connection refused我已经在客户端和服务器端运行了rpcinfo -p,它们在我看来都没问题:
EC2服务器:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
536871049 2 udp 36832
536871049 2 tcp 43244客户端:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
199 1 udp 35634
199 1 tcp 43545
536871049 2 udp 52507
536871049 2 tcp 57459
536871048 1 udp 49297
536871048 1 tcp 54609我已经为EC2实例上的TCP入站打开了端口111。它从客户端看起来是打开的: nping -p 111 nping返回一个响应。
有人有什么想法吗?
发布于 2017-04-25 16:06:00
啊,正如mootmoot指出的那样,我在本地运行我的客户端。
然而,当我改变它的时候,它仍然不起作用。除了端口111之外,您还必须打开运行服务的端口。我的程序的编号为536871049,因此我必须为TCP (我使用的协议)打开端口43244。
但是,每次重新启动服务时,端口号都会随着模板服务器代码的调用而改变:
transp = svctcp_create(RPC_ANYSOCK, 0, 0);它将服务绑定到任意端口。因此,我必须针对一个已知端口设置我自己的套接字,然后更改上面的调用以使用该套接字。
然后,您可以进入亚马逊网络服务,并打开端口111上的EC2服务器的入站连接,以及上面的端口设置。然后一切都能正常工作!
https://stackoverflow.com/questions/43579435
复制相似问题