2013-03-11 21 views
1

我想使用两台不同的机器运行zmq REP/REQ HelloWrold示例。 源代码是在这里: 客户:http://zguide.zeromq.org/cpp:hwclient SERVER:http://zguide.zeromq.org/cpp:hwserverZeroMQ REP/REQ在NAT之后的公共IP和IP之间不起作用

我运行一个公网IP地址的机器云上的服务器和我的笔记本电脑的客户端是在NAT之后。我已验证地址是可达的(ping IP)并且打开了端口(使用netcat)。

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

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

有人知道为什么吗?

回答

0

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

0

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

+0

我试过用相同版本(3.2.2)编译的客户端/服务器hellowold示例。使用这个ppa https://launchpad.net/~chris-lea/+archive/zeromq的版本,它不起作用,同时使用从它工作的网站下载的版本。 – Yuri 2013-03-15 13:56:53