Python ZeroMQ广播消息

2024-10-02 14:27:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我将实现一个实用的拜占庭容错(PBFT)。在

因此,我将有多个进程,P0将通过发送第一条消息来初始化一轮。在

是否可以使用ZeroMQ向所有其他进程广播消息?在

使用PUB/SUB,我需要绑定/连接套接字。但我将以进程数为参数,连接所有其他端口似乎不切实际(我不知道这是否可能?!)。我不能写任何代码,因为我困在一开始。在

基本上,如果我找到连接流程的方法,我会这样做:

提议者选择一个随机消息m并将其发送给所有验证器。 收到消息后,每个验证器将消息发送给其他验证器和提议者。 如果一个验证器(或提议者)从另一个收到至少2k条消息 与自身进程相同的进程将继续进行下一个进程 一致性的轮算法。在

还有一个补充:进程之间将直接通信。但是用REQ/REP连接到所有其他进程套接字并不明智。在


Tags: 方法端口代码消息参数进程流程zeromq
1条回答
网友
1楼 · 发布于 2024-10-02 14:27:44

Is it possible to broadcast a message to all other processes using ZeroMQ?

当然,是的

这正是所有消息传递和信令工具(如ZeroMQ、nanomsg和其他工具)的开发目的。在

PBFT的妙处和诀窍在于,应该存在零个奇异点,应该存在吗?在

所以,任何其他的方法,除了循环消息被一个接一个地发送和传递之外,都无助于PBFT,对吗?在

请随意绘制解决方案,端口映射将不是您在这方面的主要问题。ZeroMQ可以非常灵活地.bind()/.connect()。如果端口确实是一种稀缺的资源,人们甚至可以以类似的循环方式创建一个临时的、非持久的连接设置,那么请鼓起勇气去完成它:o)

相关问题 更多 >