discovery-channel v5.5.1
discovery-channel
Search for a key across multiple discovery networks and find peers who answer.
Currently searches across and advertises on the Bittorrent DHT, centralized DNS servers and Multicast DNS simultaneously.
Uses the bittorrent-dht and dns-discovery modules.
Also check out discovery-swarm which adds connection management on top of this module.
Usage
var DC = require('discovery-channel')
Returns a constructor
var channel = DC(<opts>)
Returns a new instance. opts
is optional and can have the following properties:
dns
- defaultundefined
, iffalse
will disabledns
discovery, any other value type will be passed to thedns-discovery
constructordht
- defaultundefined
, iffalse
will disabledht
discovery, any other value type will be passed to thebittorrent-dht
constructorhash
- defaultsha1
. provide a custom hash function to hash ids before they are stored in the dht / on dns servers.
By default hashes are re-announced around every 10 min on the dht and 1 min using dns. Set dht.interval
or dns.interval
to change these.
channel.join(id, [port], [cb])
Perform a lookup across all networks for id
. id
can be a buffer or a string.
Specify port
if you want to announce that you share id
as well.
If you specify cb
, it will be called when the first round of discovery has completed. But only on the first round.
channel.leave(id, [port])
Stop looking for id
. id
can be a buffer or a string.
Specify port
to stop announcing that you share id
as well.
channel.update()
Force announce / lookup all joined hashes
var list = channel.list()
List all the channels you have joined. The returned array items look like this
{
id: <Buffer>,
port: <port you are announcing>
}
channel.on('peer', id, peer, type)
Emitted when a peer answers your query.
id
is the id (as a buffer) this peer was discovered forpeer
is the peer that was discovered{port: port, host: host}
type
is the network type (one of['dht', 'dns']
)
channel.destroy(cb)
Stops all lookups and advertisements and call cb
when done.
channel.on('close')
Emitted when the channel is destroyed
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago