我正在寻找C / C ++中Kademlia DHT的开源实现。它必须是轻量级和跨平台的(win / linux / mac)。
必须能够将信息发布到DHT并检索它。
答案 0 :(得分:3)
OpenDHT是C ++ 11中的轻量级Kademlia DHT。 API非常简单:
dht::DhtRunner node;
// Launch a dht node on a new thread, using a
// generated RSA key pair, and listen on port 4222.
node.run(4222, dht::crypto::generateIdentity(), true);
// Join the network through any running node,
// here using a known bootstrap node.
node.bootstrap("bootstrap.ring.cx", "4222");
// put some data on the dht
std::vector<uint8_t> some_data(5, 10);
node.put("unique_key", some_data);
它支持在OS X,Linux和Windows上使用LLVM或GCC进行编译。
答案 1 :(得分:2)
LibTorrent的Kademlia DHT用C ++编写,并且有据可查。
以下是具有不变且可变的get / put操作的示例代码:https://github.com/arvidn/libtorrent/blob/master/tools/dht_put.cpp
答案 2 :(得分:1)
maidsafe-dht出了什么问题?
答案 3 :(得分:1)
你可以试试retroshare使用的bitdht。
答案 4 :(得分:1)
我找到了一个BitTorrent DHT library,由Transmission使用。它是用纯C编写的,但它可以很容易地从C ++中使用。
我在我的C ++项目中使用它。它运行良好但需要外部加密哈希和随机化功能。