1

代码在这里:


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

            而(真)
            {
                var message = server.ReceiveFrameString();

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

                // 处理请求
                线程.睡眠(100);

                Console.WriteLine("发送世界");
                server.SendFrame("世界");
            }
        }

您可以在以下位置阅读完整的主题: http: //netmq.readthedocs.io/en/latest/introduction/

我不明白的行是server.SendFrame("World");

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

4

1 回答 1

1

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

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

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

另请阅读 zeromq 指南:

http://zguide.zeromq.org/

于 2016-11-01T10:35:46.417 回答