问题标签 [dht]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1545 浏览

c# - 如何让 Monotorrents DHT 工作?

我试图让 monotorrent 的 dht 实现工作,但我似乎找不到任何同行。

我尝试了大多数网络上可用的示例代码代码,例如 testclient 和 dhttest。

我尝试了几种不同的信息散列。

这里有人让它工作吗?或者你知道我在哪里可以找到开发者吗?

这就是我的代码的外观:

}

0 投票
2 回答
1090 浏览

java - 使用 DHT 查找内容。SHA-1。和弦协议

我正在尝试实现 Chord 协议,以便在小型网络中快速查找一些节点和密钥。我无法弄清楚的是...... Chord cosideres 节点和键被放置在一个圆圈上。它们的位置由应用 SHA-1 哈希函数获得的哈希值决定。我究竟如何使用这些值?考虑到这一点,我是否将它们作为字符串de9f2c7f d25e1b3a fad3e85a 0bd17d9b 100db4b3进行比较"a" < "b" is true?或者怎么做?我如何知道一个键是在另一个之前还是之后?

0 投票
2 回答
2633 浏览

p2p - 向 Kademlia 添加新节点,构建 Kademlia 路由表

我无法完全理解 Kademlia DHT 的加入过程。我在网上看过一些教程和演示文稿,但它们似乎都以相同的方式说东西,并且所有psedo代码等在大多数情况下都是相同的(实际复制/粘贴)。

有人可以对此进行高级别的介绍吗?

0 投票
0 回答
1696 浏览

java - java.rmi.ConnectIOException & java.net.SocketException:非套接字上的套接字操作:连接

我是意大利人,很抱歉我的英语不好。

我正在用 Java 编写一个 RMI 程序,这是连接到 RMI 服务器的节点代码部分:

但是,有时,程序会出现以下异常:

这是客户端连接到 RMI 服务器的代码:

以及这种情况下的异常(不一定与我上面发布的节点异常一起发生)

我找不到导致此异常的任何原因。

我很抱歉我之前发布的代码较少,但它只是一个大项目的一小部分,所以我无法通过所有代码:D

但是,如果您需要它,我可以给您一些有关它的信息:

  1. 这是一个 DHT 项目,这是他尝试联系 Bootstrap 服务器(实际上是 RMI 服务器)时的节点代码。

  2. RMI 服务器方法可以被许多节点(上面的代码)和/或许多客户端同时调用。

  3. 创建节点和/或客户端调用的服务器方法来管理安装在服务器上的监视器。
  4. 通过这个监视器,节点和客户端按照“写者和读者”的模型(互斥 ecc.)修改一个 Hash Table。

非常感谢所有帮助我解决这个问题的人,再次为我的英语不好感到抱歉!

0 投票
1 回答
1262 浏览

c++ - C/C++ 中的分布式键/值存储,具有可插拔存储

我正在寻找一个基于 C/C++ 的分布式键/值存储,它具有足够干净的设计,因此我可以插入自己的内存存储引擎。即使我必须进行代码更改才能做到这一点,也没关系。

有人有推荐吗?或者有类似的经历?基于 Java 的项目 Voldemort ( http://www.project-voldemort.com/voldemort/ ) 是一个很好的例子,除了它是用 JAVA 编写的,我正在寻找 C++ 或 C 的东西。

0 投票
1 回答
270 浏览

networking - 如何查找分布式哈希表中的节点总数

如何以有效的方式查找分布式哈希表中的节点总数?

0 投票
1 回答
313 浏览

networking - 和弦 DHT 响应方法

我正在用 Go 构建一个 Chord DHT(但是语言部分并不重要)。

我试图弄清楚节点之间的响应行为。如果我想向节点 C 发送后继请求消息,但它必须先到节点 A -> 节点 B,然后到达节点 C。节点 C 响应原始节点的最佳方式是什么?

我想出了不同的方法,但不知道哪一种更适合 DHT。

  1. 当每个节点发出请求时,它会等待原始 TCP 连接上的响应,这使得响应采用它最初采用的反向路径
  2. 发出请求然后忘记它,当节点 C 收到请求时,它将响应直接发送回原始节点,由请求消息中的发送者 (IPAddress) 字段指示。
  3. 将响应发送给发送者 NodeID,就像它是任何其他消息一样,因此它将围绕 Chord 环进行路由。

我不知道哪个是最好的方法。

0 投票
1 回答
61 浏览

database - 分布式 p2p 网络中的识别

场景:用户通过 DHT 连接的 P2P 分布式网络。它们通过 76 位十六进制字符串标识自己。

问题:用户需要选择自己的 ID,而不是分配给他们一个非常长且随机的 ID。考虑到安全性,网络需要保持 100% 分布式,因此无法使用具有 pubkey:username 的服务器。

可能的解决方案:分布式数据库。但是,我们如何保证用户名的唯一性呢?像比特币一样的区块链是不可能的,因为下载千兆字节的数据也不是用户友好的,而且对于动态内容也没有用处。

可能的解决方案:分布式文件系统,例如 Tahoe-LAFS。极其复杂和矫枉过正,不容易或干净地实现。

因此,问题在于同时具有用户友好性和安全性/分布。

有任何想法吗?

0 投票
3 回答
932 浏览

bittorrent - DHT中announce_peer的token

http://www.bittorrent.org/beps/bep_0005.html中,announce_peer 查询需要一个令牌,该令牌需要“响应先前的 get_peers 查询而收到的“令牌””。

这是否意味着如果节点 A 从未向节点 B 发送 get_peer 查询,那么节点 A 将永远不会收到来自节点 B 的 peer_announce 查询?

0 投票
2 回答
98 浏览

bittorrent - 是否可以有单独的 DHT 标签?

我越来越熟悉,DHT我基本上了解它是如何工作的。但是,我不太明白如果您想DHT在每个中使用具有不同条目类型的单独 s 会发生什么。这可能吗?

如果我使用一个流行的DHT库,这是否意味着我putget条目使用与DHT该库的每个用户相同的内容?还是DHT所有人都通用?你如何定义一个ownerof a DHT,或者你如何定义一个单独的、包含的DHT