ZMQ:路由器如何识别经销商

ZMQ : how does a router identify a dealer

我正在使用 ZMQ 模式 dealer/router。
在我的项目中,路由器是代理经理,经销商是代理。

所以我有很多经销商,只有一台路由器。

每个经销商可以向路由器发送自己的请求并等待回复。
路由器侦听一个端口,因此它必须能够识别路由器。

我知道我们可以使用 zmq_setsockopt 为经销商提供一个唯一的 ID。并且如果经销商向路由器发送请求,路由器将收到它的唯一ID和它的请求。

假设路由器已经收到来自 10 个经销商的 10 个请求。现在路由器要向第五个经销商发送回复。怎么做?

您所说的内容略有修改...

[...] if the dealer sends a request to the router, the router will receive its unique id and its request.

(强调)

实际情况是,如果您明确设置身份,经销商会自动选择自己的身份。它仍然会在消息的第一帧中将这个标识发送到 ROUTER 套接字,你仍然可以使用它向那个经销商发送消息,你只需要在它进来时跟踪它。

您可以阅读更多有关其工作原理的信息 in the guide。我建议您通读整篇文章,至少从头读到第 5 章,但链接部分涵盖了如何使用 ROUTER 套接字进行通信。

您没有指定语言,但是有许多不同语言的示例说明如何使用此 here