有没有人可以提供一个使用zmq与路由器/经销商模式的真实示例,并解释它优于更简单的发布/订阅模式?感谢。
答案 0 :(得分:7)
“真实世界”的例子:股市模拟
路由器套接字是服务器(或“市场”),经销商套接字是客户端(或“交易者”)。
使用pub / sub实现这种行为非常麻烦,因为您需要Market和Traders来运行Publisher和订阅者套接字以允许双向通信。如果所有已完成的交易都是“已发布”而不是直接发送给相关交易商,那么也会存在隐私问题。 (交易员B不应该知道交易员A买入或卖出的东西)。
什么使路由器套接字不同
从路由器套接字发送和接收稍微复杂一点,以允许异步响应:
'identity'是一个字符串,默认情况下将设置为每个连接客户端的唯一内容,但您可以通过套接字选项在客户端套接字上设置自定义标识。
答案 1 :(得分:0)
经销商随每封邮件一起发送其客户ID。路由器能够接受来自多个经销商的连接,并且每次接收到消息时,它都能够辨别哪个客户端发送了消息。它还可以通过参考特定客户端的ID向其发送消息。
现实生活中的示例:游戏服务器允许客户加入房间,直到房间满为止。它跟踪房间中的每个客户ID。房间满时,它将遍历该房间内的每个客户端ID,并向他们发送“游戏开始”消息。