Я пытаюсь использовать эту распределенную реализацию Ha sh Table https://github.com/savoirfairelinux/opendht, но я новичок ie в сети. Так что для меня даже этот пример на первой странице является ошеломляющим.
#include <opendht.h>
#include <vector>
int main()
{
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);
// put some data on the dht, signed with our generated private key
node.putSigned("unique_key_42", some_data);
// get data from the dht
node.get("other_unique_key", [](const std::vector<std::shared_ptr<dht::Value>>& values) {
// Callback called when values are found
for (const auto& value : values)
std::cout << "Found value: " << *value << std::endl;
return true; // return false to stop the search
});
// wait for dht threads to end
node.join();
return 0;
}
Мои вопросы касаются номеров портов? Это могут быть номера портов? Есть ли диапазон жизнеспособных чисел?
"bootstrap .ring.cx", что это. Это уникальный адрес, к которому каждый может подключиться? Если да, то как бы я подключился к разным компьютерам, а не к этому адресу?
В целом, я просто хочу подключиться к компьютерам и получить подтверждение концепции, что я могу отправлять и извлекать данные на две отдельные машины. У кого-нибудь есть подсказка?