go - 两个节点可以直接交换消息吗?
问题描述
我正在对基于 Kademlia 的去中心化网络进行一些研究。在引导一个新节点之后,不是将消息广播到最近的节点,而是可以将消息发送到由其 ID 标识的特定节点吗?(即使这意味着在到达目的地之前将消息中继给多个对等方)。
解决方案
Kademlia 是一种抽象路由算法,结合了构建分布式哈希表所需的一组操作。kademlia-as-algorithm 中不存在广播的概念。
但是具体的实现可以在这个基础之上添加特性。由于 kademlia 提供了迭代find_node过程(没有转发!),您可以定位一个节点,然后交换它们相互支持的任意数量和类型的附加消息。
推荐阅读
- c# - 设置变量错误无法对空引用执行运行时绑定
- c# - 为什么 C# 将隐式类型变量转换为可空类型?
- docker - 在集群上的 Singularity 容器中运行的 MPI 程序
- google-cloud-platform - 更改 Google Cloud 上的 Littlest Jupyterhub 登录页面
- python - Spyder ide:在try except子句中包围选定的代码块
- pine-script - 尝试在 Pine 脚本中制作一个在不同时间尺度上工作的 RSI 指标
- laravel - 如何选择图像干预应该存储的图像?
- python - 尝试使用 SQLite 数据库和 Python 按顺序为每个项目创建记录
- sql - SQL-自动插入自定义记录
- reactjs - React 和 core-js 不能为 IE10 填充