gpt4 book ai didi

python - 与 ZeroMQ 的双向通信异步

转载 作者:行者123 更新时间:2023-11-28 04:47:44 29 4
gpt4 key购买 nike

我正在理解 different socket and patterns types因为我有兴趣让多个客户端以协作方式相互交谈,可能有一个服务器代理或中间件。这将有助于在相关实体之间接收和转发消息。

我的学习/情况案例如下:我想在我的图表中通过步骤数字交互来表示工作流程。我希望不要对我的图表造成不便,我只是引用它来更好地说明我的情况

enter image description here

在两个客户端节点之间实现双向异步消息以交换消息的合适模式是什么?

因为所有这些......我一直在阅读 ZMQ_ROUTERZMQ_DEALER 套接字,它们似乎是一个不错的选择,因为正在进行和传入的路由策略。

我理解从所有连接的对等点(在 ZMQ_DEALER 中)接收到的每条消息排队的过程以及发送的每条消息在所有连接的对等点之间循环

在这种情况下循环是什么意思?

随着 ZMQ_ROUTER 发生与传入路由策略类似的事情......

我一直在测试 Shared Queue Dealer and Router sockets samples但是这个过程是同步的,因为我在 REQ-ROUTER-DEALER-REP 设置中使用了它,但在那种情况下 REQ -> ROUTER 发送不针对另一端的特定处理程序,它只是转到任意一个,ROUTER 确保回复返回到原始发件人。

我觉得我的情况也差不多to this Jake's question在 zeromq 邮件列表中

代理方法ROUTER-DEALER ...是对的吗?或者沟通可能是客户对客户的直接沟通?

我问这一切是为了分享我的想法,并学习和接收你们 ZMQ 人员关于在两个客户端节点之间实现双向异步消息的适当模式的一些方向。

最佳答案

在您的服务器代码上,您想运行一个 zmq_router 并将其绑定(bind)到一个众所周知的端口。

然后,每个客户端应用程序都应创建一个zmq_dealer 套接字,并连接 到路由器绑定(bind)的 ip 和端口。在连接之前,您可能希望在可用于识别每个客户端的套接字上设置一个 ID。

为了确保客户端将消息发送到正确的位置,我们需要将他们希望与之通话的客户端的 ID 附加为第一个消息部分,以允许它通过路由器路由到正确的客户端。

如果您对每个 dealer 套接字进行多次连接,即直接连接到其他客户端经销商套接字,您只会遇到循环法问题。

关于python - 与 ZeroMQ 的双向通信异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48941451/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com