ZeroMQ REP / REQ在NAT后面的公共IP和IP之间不起作用

时间:2013-03-11 18:00:48

标签: tcp request zeromq reply

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

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

因此客户端发送消息,服务器接收消息并使用相同的套接字发回回复消息,但客户端不接收消息。

如果我在本地运行此示例,或者在位于不同地理区域(使用公共IP)的两台云计算机之间运行此示例,则可以正常运行。

有人知道为什么吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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