2013-03-11 49 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