首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Amazon EC2实例上设置SUN RPC

在Amazon EC2实例上设置SUN RPC
EN

Stack Overflow用户
提问于 2017-04-24 11:41:49
回答 1查看 192关注 0票数 0

有人能帮上忙吗?我被卡住了。我有一个EC2实例和一个在本地运行良好的客户机/服务器Sun RPC应用程序。

服务器部分在EC2实例上运行正常(启动、等待客户端连接。

在我的家用PC上运行的客户端部分总是说:

代码语言:javascript
复制
localhost: RPC: Remote system error - Connection refused

我已经在客户端和服务器端运行了rpcinfo -p,它们在我看来都没问题:

EC2服务器:

代码语言:javascript
复制
   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

客户端:

代码语言:javascript
复制
   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返回一个响应。

有人有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-04-25 16:06:00

啊,正如mootmoot指出的那样,我在本地运行我的客户端。

然而,当我改变它的时候,它仍然不起作用。除了端口111之外,您还必须打开运行服务的端口。我的程序的编号为536871049,因此我必须为TCP (我使用的协议)打开端口43244。

但是,每次重新启动服务时,端口号都会随着模板服务器代码的调用而改变:

代码语言:javascript
复制
transp = svctcp_create(RPC_ANYSOCK, 0, 0);

它将服务绑定到任意端口。因此,我必须针对一个已知端口设置我自己的套接字,然后更改上面的调用以使用该套接字。

然后,您可以进入亚马逊网络服务,并打开端口111上的EC2服务器的入站连接,以及上面的端口设置。然后一切都能正常工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43579435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档