C ++ реализация DHT - PullRequest
4 голосов
/ 08 июня 2011

Я ищу реализации с открытым исходным кодом Kademlia DHT на C / C ++.Он должен быть легким и кроссплатформенным (win / linux / mac).

Он должен иметь возможность публиковать информацию в DHT и извлекать ее.

Ответы [ 5 ]

3 голосов
/ 07 апреля 2015

OpenDHT - это облегченный Kademlia DHT на C ++ 11.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);

Он поддерживает компиляцию с LLVM или GCC на OS X, Linux и Windows.

2 голосов
/ 28 сентября 2018

LibTorrent Kademlia DHT написан на C ++ и хорошо документирован.
Вот пример кода с неизменяемыми и изменяемыми операциями get / put: https://github.com/arvidn/libtorrent/blob/master/tools/dht_put.cpp

1 голос
/ 12 октября 2016

Я нашел библиотеку BitTorrent DHT , используемую Transmission.Он написан на чистом C, но его легко использовать с C ++.

Я использую его в своем проекте C ++.Он работает хорошо, но требует внешнего криптографического хэша и функций рандомизации.

1 голос
/ 17 августа 2011

Вы можете попробовать bitdht , используемый retroshare.

1 голос
/ 08 июня 2011

Что не так с maidsafe-dht ?

...