DHTを動作させてみよう
- DHTを動作させてみよう!!*
DHTの解説は完了です。実際に動作させてみましょう。実際にTorrentのネットワークに繋がるアプりケーションを作ろうとすると、2〜3人日、またはそれ以上かかると思います。 作ってもらうのも良いのですが、 本章では hetimatorrentを利用したサンプルアプリを紹介します。
指定したKIDをネットワークから探すサンプル
main() {
KNode node = new KNode(new HetiSocketBuilderChrome(), verbose: true);
//
node.start(ip: "0.0.0.0", port: 28080).then((_) {
node.onGetPeerValue.listen((KGetPeerValue v) {
print("---onGetPeerValue ${v.ipAsString} ${v.port} ${v.infoHashAsString} ");
});
});
// initial node
String initailNodeIp = "0.0.0.0";
int initailNodePort = 38080;
node.addBootNode(initailNodeIp, initailNodePort);
// search target
List<int> infoHash = new List.filled(20, 4);
node.startSearchValue(new KId(infoHash), 18080, getPeerOnly: true);
new Future.delayed(new Duration(minutes:30)).then((_){
print(node.rootingtable.toInfo());
return node.stop();
});
}
UI付きのサンプルアプリは以下を参照してください。 https://github.com/kyorohiro/dart_hetimatorrent/tree/master/example/TorrentDHT