2017-07-08 10 views
0

ピアを接続してP2Pネットワークを構築するKademliaネットワークをセットアップしたいと思います。私はネットワーク内のノードの処理能力を分配しようとしています。ネットワークでは、このKademlia Javaがgitから設定を実装していることがわかりました。 https://github.com/JoshuaKissoon/Kademlia
enter image description hereJavaでのKademliaの実装

これを設定してネットワークを実装する方法を知りたいと思います。 Iは

JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574); 

JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572); 

が互いにそれらを接続するピアと次のコードの2つのインスタンスを作成するために使用されることを見出しました。

kad1.bootstrap(kad2.getNode()); 

しかし、それは実行中の同じプログラムでそれらを接続することでした。

異なるコンピュータに合わせて接続したいと考えています。ここ何時間も立ち往生した。私はこれを使う方法を知らない。

答えて

0

Kademliaプロトコルによれば、「ネットワークに参加するには、nノードUは既に参加しているノードWに連絡を取っていなければなりません。Uは自分自身のノードIDのノードルックアップを実行します。

ノードのインスタンスが2つ必要です。

インスタンス1:

JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574); 

インスタンス2:あなたは、ノードからノード2をブートストラップすることができます

JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572); 

1.

KademliaId id = new KademliaId("ASERTKJDHGVHERJHGFLK"); 
InetAddress ip =InetAddress.getByName("Ip address of the remote node"); 
Node kad2 = new Node(id,ip,7572); 
kad1.bootstrap(kad2);