【发布时间】:2018-08-03 03:10:08
【问题描述】:
我了解different socket and patterns types,因为我有兴趣让多个客户端以协作的方式相互交谈,可能有一个服务器代理或中间件。这对于接收和转发相关实体之间的消息很有用。
我的学习/情况案例如下: 我想通过图表中的步骤编号交互来表示工作流程。我希望不要对我的图表造成不便,我只是参考它来更好地说明我的情况
在两个客户端节点之间实现双向、异步消息以交换消息的合适模式是什么?
因为所有这些......我一直在阅读 ZMQ_ROUTER 和 ZMQ_DEALER 套接字,它们似乎是一个不错的选择,因为正在进行和传入的路由策略。
我了解从所有连接的对等方(ZMQ_DEALER)接收的每条消息排队的过程,并且发送的每条消息在所有连接的对等方之间循环
在这种情况下轮询是什么意思?
ZMQ_ROUTER 在传入路由策略方面发生了类似的事情......
我一直在测试Shared Queue Dealer and Router sockets samples,但该过程是同步的,因为我在REQ-ROUTER-DEALER-REP 设置中使用了它,但在这种情况下,REQ -> ROUTER 发送不针对另一侧的特定处理程序,它只是转到任意一个,ROUTER 确保回复返回给原始发件人。
我认为我的情况与 zeromq 邮件列表中的to this Jake's question 类似
经纪人的做法ROUTER-DEALER...是不是想对了?
或者通信可能是客户直接对客户?
我要求所有这些都是为了分享我的考虑,并了解和接受你们 ZMQ 人员关于在两个客户端节点之间实现双向、异步消息的适当模式的一些方向。
【问题讨论】:
-
检查 c++ 中的 boost asio 聊天服务器示例。它支持多个客户端,也可以在双工模式下工作
标签: python c++ sockets client-server zeromq