1

2 つの異なるマシンを使用して zmq REP/REQ HelloWrold の例を実行したいと考えています。ソース コードは次のとおりです。 クライアント: http://zguide.zeromq.org/cpp:hwclient サーバー: http://zguide.zeromq.org/cpp:hwserver

パブリック IP アドレスを持つクラウド マシンでサーバーを実行し、NAT の背後にあるラップトップでクライアントを実行します。アドレスが到達可能であり (IP に ping を実行)、ポートが開いている (netcat を使用) ことを確認しました。

したがって、クライアントはメッセージを送信し、サーバーはそれを受信し、同じソケットを使用して応答メッセージを返しますが、クライアントはそれを受信しません。

この例をローカルで実行するか、異なる地理的領域にある 2 つのクラウド マシン間で (パブリック IP を使用して) 実行すると、動作します。

誰かが理由を知っていますか?

4

2 に答える 2

0

互換性のないバージョンが原因である可能性が高くなります (互換性のないプロトコルを使用したアルファ/ベータ リリースがいくつかありました)。これはよくある質問です。http://www.zeromq.org/area:faq #toc6 を参照してください。

于 2013-03-14T10:32:05.350 に答える
0

libzmq の ubuntu (quantal) ppa に問題があることに気付きました。Web サイトから取得した libzmq-3.2.2 を使用すると、正常に動作します。

于 2013-03-12T12:38:06.420 に答える