0

0MQのrouter-dealerパターンを使用しています。次に、クライアントのアドレスを保存します。クライアントからの最初のメッセージはアドレス、IP+portnoだと思います。またはrecv()、ルーターソケットから、受信したパケットの前にアドレスを配置します。しかし、このアドレスをどのように処理しますか?たとえば、印刷したり、さらに送信するメッセージのために保存したりしますか?どんなタイプですか?

4

2 に答える 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 に答える