Simple signalling server that can be used to coordinate handshaking with webrtc or other fun stuff.
npm install signalhub
Or to install the command line tool
npm install -g signalhub
var signalhub = require('signalhub')
var hub = signalhub('my-app-name', [
'http://yourhub.com'
])
hub.subscribe('/my-channel')
.on('data', function (message) {
console.log('new message received', message)
})
hub.broadcast('/my-channel', {hello: 'world'})
Create a new hub client. If you have more than one hub running specify them in an array
// use more than one server for redundancy
var hub = signalhub('my-app-name', [
'https://signalhub1.example.com',
'https://signalhub2.example.com',
'https://signalhub3.example.com'
])
The appName
is used to namespace the subscriptions/broadcast so you can reuse the
signalhub for more than one app.
Subscribe to a channel on the hub. Returns a readable stream of messages
Broadcast a new message to a channel on the hub
You can use the command line api to run a hub server
signalhub listen -p 8080 # starts a signalhub server on 8080
Or broadcast/subscribe to channels
signalhub broadcast my-app my-channel '{"hello":"world"}' -p 8080 -h yourhub.com
signalhub subscribe my-app my-channel -p 8080 -h yourhub.com
This also works in the browser using browserify :)
MIT