私は ZeroMQ (およびネットワーク全般) に不慣れで、複数のクライアントが単一のサーバーに接続するセットアップで ZeroMQ を使用することについて質問があります。私の状況は次のとおりです。
--1 サーバー
--複数のクライアント
-- クライアントがサーバーにメッセージを送信する: この部分の実行方法は既に把握しています。
-- サーバーが特定のクライアントにメッセージを送信する: これは私が問題を抱えている部分です。特定のイベントがサーバーで処理されると、サーバーはすべてのクライアントではなく、特定のクライアントにメッセージを送信する必要があります。つまり、サーバーは、特定のメッセージを送信するクライアントを選択できる必要があります。
現在、これは私のサーバーコードです:
using (NetMQContext ctx = NetMQContext.Create())
{
using (var server = ctx.CreateResponseSocket())
{
server.Bind(@"tcp://127.0.0.1:5555");
while (true)
{
string fromClientMessage = server.ReceiveString();
Console.WriteLine("From Client: {0}", fromClientMessage);
server.Send("ack"); // There is no overload for the 'Send'
method that takes an IP address as an argument!
}
}
}
問題は私のデザインが間違っていることであり、ResponseSocket
タイプが私が使いたい方法で使用されることを意図していないことにあると感じています。初心者なのでアドバイスいただけると助かります!