C++从零开始区块链:P2P模块之节点广播

本文主要讨论了四种P2P网络中节点广播的策略:UDP协议广播、UDP协议组播、节点轮询和节点分组轮询。尽管UDP广播和组播在局域网内高效,但受限于网络设备支持。节点轮询简单但效率低,而节点分组轮询虽然复杂,但在大量节点环境中更为可行。目前案例仅实现了单节点广播,未来计划采用节点分组轮询优化广播效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前忘了说了,现在补上
主要有以下几个方案

udp协议广播

该方案的优点是协议自身支持,实现简单,高效。但其缺点也是致命的,就是只能在同一局域网内才能进行广播,限制太大。

udp协议组播

和广播的方案差不多,虽然udp协议支持在外网上的组播,但很依赖于网络设备是否支持。很遗憾,现实中绝大部分的网络设备是不支持的,同样只能在同一局域网内有效。

节点轮询

该方案的优点是不受网络环境限制,不需要网络设备的支持。缺点是效率太低,网络中节点很少还可以接受,如果节点太多,光是每个节点都轮询一遍都需要好久。

节点分组轮询

这是目测最可行的一个方案,同时也是实现起来最麻烦的一个方案。先将所有节点分组,要保证每个节点至少存在与两个组内。节点对自己所在的组内进行轮询广播,组内其他节点接收到消息后,再在自己的另一个组内进行广播,达到一传十,十传百的效果。

本例中应用

在本例中,仅将消息发给了一个节点进行广播模拟,并未进行实际上的广播,等以后有时间了尝试使用节点分组轮询的方式进行广播。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木千

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值