任何人都可以解释请求 - 回复经纪人zeromq的例子吗?

Toa*_*oad 6 zeromq broker

我指的的Zeromq文档中的"请求-应答经纪人:http://zguide.zeromq.org/chapter:all

我正在获得应用程序的一般要点:它像中介一样,将消息从客户端路由到服务器并再次返回.

我没有得到的是它如何确保服务器的正确响应被发送到最初发出请求的正确客户端.我在代码示例中没有看到任何确定这一点的内容.

现在在示例中他们只发送1条消息(hello)和1条响应(world),所以即使消息混淆也没关系,但我猜测testclient和服务器是故意保持简单的.

欢迎任何想法......

小智 9

所有zeromq套接字都隐式具有与之关联的标识.(您可以使用zmq_getsockopt()获取此标识.)

对于不是XREQ或XREP的双向套接字类型,此标识将作为通过套接字发送的每条消息的一部分自动传输.REP套接字使用此标识将响应消息路由回适当的套接字.这具有自动路由的效果.

在引擎盖下,身份通过多部分消息传输.多部分消息中的第一条消息将包含套接字标识.随后将显示一条空消息,然后是用户指定的所有消息.REQ和REP套接字自动处理这些带前缀的消息.但是,如果您使用的是XREQ或XREP套接字,则需要自己填充这些标识消息.

如果您在ZMQ指南中搜索"身份" ,您应该找到有关身份和套接字路由如何工作的所有详细信息.