代码在这里:
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”);
服务器如何知道发送此消息的客户端?
答案 0 :(得分:1)
响应套接字始终回复发送消息的最后一个客户端。
实际上Response是路由器套接字的包装,对于路由器套接字,第一个消息部分是路由ID,当使用Response时,套接字首先发送它刚收到的路由id,然后发送你的消息部分。
最重要的是,如果你想决定客户端获得响应使用路由器。
另请阅读zeromq指南: