C++ C++;DHT的实施

C++ C++;DHT的实施,c++,cross-platform,dht,C++,Cross Platform,Dht,我正在寻找DHT在C/C++中的开源实现。它必须是轻量级和跨平台的(win/linux/mac) 它必须能够将信息发布到DHT并检索。有什么问题?您可以尝试由retroshare使用。是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.

我正在寻找DHT在C/C++中的开源实现。它必须是轻量级和跨平台的(win/linux/mac)

它必须能够将信息发布到DHT并检索。

有什么问题?

您可以尝试由retroshare使用。

是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.jami.net", "4222");

// put some data on the dht
std::vector<uint8_t> some_data(5, 10);
node.put("unique_key", some_data);
dht::DhtRunner节点;
//使用
//生成RSA密钥对,并在端口4222上侦听。
run(4222,dht::crypto::generateIdentity(),true);
//通过任何正在运行的节点加入网络,
//这里使用一个已知的引导节点。
bootstrap(“bootstrap.jami.net”,“4222”);
//在dht上输入一些数据
std::向量一些_数据(5,10);
放置(“唯一的_键”,一些_数据);
它支持在OS X、Linux和Windows上使用LLVM或GCC进行编译。

我找到了一个,用于传输。它是用纯C编写的,但是它可以很容易地用C++来实现。
我在我的C++项目中使用它。它工作得很好,但是需要一个外部的加密散列和随机化函数。

< P> LBTrOrthon的KDMLILDHT是用C++编写的,并且有详细的文档。
下面是具有不可变和可变get/put操作的示例代码:

谢谢!我是git克隆的源代码,看起来质量很好,可以理解。可惜它不完全完整。