netMQ或zeroMQ如何决定发送哪个客户端

时间:2016-11-01 09:13:33

标签: .net zeromq netmq

代码在这里:



     using (var server = new ResponseSocket())
        {
            server.Bind("tcp://*:5555");

            while (true)
            {
                var message = server.ReceiveFrameString();

                Console.WriteLine("Received {0}", message);

                // processing the request
                Thread.Sleep(100);

                Console.WriteLine("Sending World");
                server.SendFrame("World");
            }
        }

您可以阅读完整主题:http://netmq.readthedocs.io/en/latest/introduction/

我不理解的行是 server.SendFrame(“World”);

服务器如何知道发送此消息的客户端?

1 个答案:

答案 0 :(得分:1)

响应套接字始终回复发送消息的最后一个客户端。

实际上Response是路由器套接字的包装,对于路由器套接字,第一个消息部分是路由ID,当使用Response时,套接字首先发送它刚收到的路由id,然后发送你的消息部分。

最重要的是,如果你想决定客户端获得响应使用路由器。

另请阅读zeromq指南:

http://zguide.zeromq.org/