Kademlia Implementation in Java 从这里得到帮助。 git repo:https://github.com/JoshuaKissoon/Kademlia
我正在端口5000(相同ip)上运行一个节点,我要将其下一个节点引导至该节点。我已经尝试了上述问题的解决方案,但没有成功。
错误:
创建的节点Kad 1:4153463435363738393437353834353637353637 java.net.BindException:无法分配请求的地址:数据报发送失败 在java.net.DualStackPlainDatagramSocketImpl.socketSend(本机方法) 在java.net.DualStackPlainDatagramSocketImpl.send(未知来源) 在java.net.DatagramSocket.send处(未知源) 在kademlia.KadServer.sendMessage(KadServer.java:185) 在kademlia.KadServer.sendMessage(KadServer.java:138) 在kademlia.operation.ConnectOperation.execute(ConnectOperation.java:58) 在kademlia.JKademliaNode.bootstrap(JKademliaNode.java:257) 在Script.main(Script.java:19)
import java.io.IOException;
import java.net.InetAddress;
import kademlia.JKademliaNode;
import kademlia.node.KademliaId;
import kademlia.node.Node;
public class Script{
public static void main(String[] args){
try{
/* Setting up 2 Kad networks */
JKademliaNode kad1 = new JKademliaNode("abc", new KademliaId("ASF45678947584567567"),5005);
System.out.println("Created Node Kad 1: " + kad1.getNode().getNodeId());
KademliaId id = new KademliaId();
InetAddress ip =InetAddress.getByName("0.0.0.0");
Node kad2 = new Node(id,ip,5000);
kad1.bootstrap(kad2);
System.out.println("Kad 1: " + kad1.getNode().getNodeId() + " Routing Table: ");
System.out.println(kad1.getRoutingTable());
}
catch (IOException e){
e.printStackTrace();
}
System.out.println("Ended everything!");
}
}
如果仅知道另一个节点的IP和端口,如何引导一个节点!我已经看到kademlia
的muller在brian
的python实现中,而我对Java还是陌生的,但这是非常不同的。
另外,我需要做哪些更改才能使其在android上运行?