【问题标题】:ZeroMQ REP/REQ doesn't work between public IP and IP behind the NATZeroMQ REP/REQ 在公共 IP 和 NAT 后面的 IP 之间不起作用
【发布时间】:2013-03-11 18:00:47
【问题描述】:

我想使用两台不同的机器运行 zmq REP/REQ HelloWrold 示例。 源代码在这里: 客户:http://zguide.zeromq.org/cpp:hwclient 服务器:http://zguide.zeromq.org/cpp:hwserver

我在具有公共 IP 地址的云计算机上运行服务器,并在我的笔记本电脑上运行客户端,它位于 NAT 后面。我已经验证该地址是可访问的(ping IP)并且端口已打开(使用 netcat)。

所以客户端发送消息,服务器接收它并使用相同的套接字发回回复消息,但客户端没有收到它。

如果我在本地或位于不同地理区域(使用公共 ip)的两台云机器之间运行此示例,它可以工作。

有人知道为什么吗?

【问题讨论】:

    标签: tcp request zeromq reply


    【解决方案1】:

    我注意到 libzmq 的 ubuntu (quantal) ppa 存在问题。 使用从网站获取的 libzmq-3.2.2 可以正常工作。

    【讨论】:

      【解决方案2】:

      这更有可能是由于版本不兼容(有些 alpha/beta 版本的协议不兼容)。这是一个常见问题,请参阅http://www.zeromq.org/area:faq#toc6

      【讨论】:

      • 我尝试过使用相同版本 (3.2.2) 编译的客户端/服务器 helloold 示例。使用此 ppa launchpad.net/~chris-lea/+archive/zeromq 的版本不起作用,而使用从网站下载的版本则有效。
      猜你喜欢
      • 2013-05-20
      • 2014-01-03
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2020-07-17
      • 2013-06-07
      相关资源
      最近更新 更多