Create a swarm of p2p connections using webrtc and a signalhub.
npm install webrtc-swarm
var swarm =var signalhub =var hub =var sw =swsw
var swarm =
var sw = swarm(hub, opts)
Creates a new webrtc swarm using
hub for discovery and
Valid keys for
wrtc- (optional) a reference to the
wrtclibrary, if using Node.
uuid- (optional) a unique identifier for this peer. One is generated for you if not supplied.
maxPeers- (optional) the maximum number of peers you wish to connect to. Defaults to unlimited.
wrap- (optional) a function that can modify the WebRTC signaling data before it gets send out. It's called with
wrap(outgoingSignalingData, destinationSignalhubChannel)and must return the wrapped signaling data.
unwrap- (optional) a function that can modify the WebRTC signaling data before it gets processed. It's called with
unwrap(incomingData, sourceSignalhubChannel)and must return the raw signaling data.
Additional optional keys can be passed through to the underlying simple-peer instances:
channelConfig- custom webrtc data channel configuration (used by
config- custom webrtc configuration (used by
stream- if video/voice is desired, pass stream returned from
Disconnect from swarm
sw.on('peer|connect', peer, id)
connect are interchangeable. Fires when a connection has been
established to a new peer
peer, with unique id
sw.on('disconnect', peer, id)
Fires when an existing peer connection is lost.
peer is a simple-peer instance.
Fires when all peer and signalhub connections are closed
A list of peers that
sw is currently connected to.
var swarm =if swarmWEBRTC_SUPPORT// webrtc support!else// fallback