bittorrent_dht

Creator: coderz1093

Last updated:

0 purchases

bittorrent_dht Image
bittorrent_dht Images

Languages

Categories

Add to Cart

Description:

bittorrent dht

About #
Bittorrent DHT by Dart.
Support:

BEP 0005 DHT Protocal

Usage #
A simple usage example:
import 'package:bittorrent_dht/bittorrent_dht.dart';

main() {
var dht = DHT();
dht.announce(infohashStr, port);
await dht.bootstrap();
}
copied to clipboard
The method announce can invoke after DHT bootstrap. But I suggest that invoking it before DHT startted;
Onece DHT startted , it will check if there is ant announce , if it has , each new DHT node added , it will try to announce the local peer to the new node.
Before send announce_peer query , it should send get_peers query to get the token first , so when user invoke announce method , it will fire get_peers query automatically and return the result. In other word , if user isn't downloading any resource , he will not to announce local peer and he dont need any related peers also. However, user can invoke requestPeers method to request the peers:
dht.requestPeers(infoHashStr);
copied to clipboard
When DHT found any new peer , it will notify the listener:
dht.onNewPeer((address, port, infoHash) {
// found new peer for InfoHash
});
copied to clipboard
User can add a listener to get error from other nodes:
dht.onError((code, msg) {
log('An error occurred', error: '[$code]$msg');
});
copied to clipboard
To stop DHT , invoke stop method:
dht.stop();
copied to clipboard
Once DHT stopped , each hanlder will be removed and nothing will be save. If user start DHT after it stopped , everything will be fresh.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.