0MQのrouter-dealerパターンを使用しています。次に、クライアントのアドレスを保存します。クライアントからの最初のメッセージはアドレス、IP+portnoだと思います。またはrecv()
、ルーターソケットから、受信したパケットの前にアドレスを配置します。しかし、このアドレスをどのように処理しますか?たとえば、印刷したり、さらに送信するメッセージのために保存したりしますか?どんなタイプですか?
質問する
1983 次
2 に答える
3
これに関するガイドの説明は次のとおりです。http://zguide.zeromq.org/page :all#The-Request-Reply-Mechanisms
ROUTERは一連の接続を管理し、各接続の「ID」を保持します。これは、ハンドルのような乱数です。これは、最初のフレームとして、各メッセージでこのIDを示します。バイナリ値なので、そのまま印刷することはできません。
DEALERは、接続時に「このIDを使用する」と指示することにより、ルーターの内部IDをオーバーライドできます。これが、zmq_setsockoptZMQ_IDENTITYオプションが行うことです。これは、ノードに、アプリケーションにとって何らかの意味を持つ一意の、多くの場合文字列のIDがある場合に使用します。
于 2012-11-21T07:18:06.330 に答える
1
メッセージの最初の部分は、(ルーターに接続する前に) zmq_setsockopt関数を使用して、ディーラー側で設定できる送信者(ディーラー)のIDです。最大255文字の長さの文字列です。設定しないと、#0文字から始まるランダムなユニークなものがあります。
したがって、デフォルトではディーラーのIP +ポートではありませんが、必要に応じてその情報をそこに置くことができます。
于 2012-11-10T01:21:37.120 に答える