You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a swarm of p2p connections using webrtc and a
signalhub.
npm install webrtc-swarm
Usage
varswarm=require('webrtc-swarm')varsignalhub=require('signalhub')varhub=signalhub('swarm-example',['https://yourdomain.com'])varsw=swarm(hub,{wrtc: require('wrtc')// don't need this if used in the browser})sw.on('peer',function(peer,id){console.log('connected to a new peer:',id)console.log('total peers:',sw.peers.length)})sw.on('disconnect',function(peer,id){console.log('disconnected from a peer:',id)console.log('total peers:',sw.peers.length)})
API
varswarm=require('webrtc-swarm')
var sw = swarm(hub, opts)
Creates a new webrtc swarm using
signalhubhub for discovery and
connection brokering.
Valid keys for opts include:
wrtc - (optional) a reference to the wrtc library, 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
createDataChannel)
config - custom webrtc configuration (used by RTCPeerConnection
constructor)
stream - if video/voice is desired, pass stream returned from
getUserMedia
sw.close()
Disconnect from swarm
sw.on('peer|connect', peer, id)
peer and connect are interchangeable. Fires when a connection has been
established to a new peer peer, with unique id id.