2016-12-15 5 views
0

私は現在、特定のプロジェクトにc#を使用しています。私のプロトコルでは、ディーラーソケットから送信された要求が必要で、応答は常にルータによって送信されます。ディーラーソケットを複数のルーターソケットに接続するにはどうすればいいですか?

私は、接続する必要があるすべてのルータごとに1つのディーラーを作成します。ディーラがconnect()している間、ルータbind()。

1つのディーラーを複数のルーターに接続することはできますか?単一のconnect()がdisconnect()を必要とし、次のルータに接続するので、どのように可能ですか?それが切断されている場合、どのように最初のルータからの応答を得るのだろうか?

答えて

0

はい、複数のルータにディーラーを接続できます。各ルータのconnectを呼び出すだけです。 2番目のサーバーに接続するために、最初のサーバーから切断する必要はありません。

Per the docs "送信される各メッセージは、接続されているすべてのピア間でラウンドロビンされ、受信した各メッセージは、接続されているすべてのピアから公正にキューに入れられます。

+0

お返事ありがとうございますが、選択したい場合、つまり特定のルータに特定のメッセージを送信したい場合はどうすればいいですか。では、どのルータがメッセージを受信するかを選択するにはどうすればよいですか? –

+0

その場合、2つのディーラーソケット(各ルータに1つずつ接続)を使用し、アプリケーションロジックを使用してどちらを送信するかを選択する必要があります。 – colini

+0

ディーラーとルーターソケットがありますが、ディーラーはまだルーターに接続していません。ルータは接続を開始できますか?ルータはメッセージを送信する前にディーラーに固有のIDが必要なので、この特定のケースをどのように処理しますか? –

関連する問題