by soyuka



Build Status

Drop in replacement for signalhub with websockets.

Note: Binary is just launching server (similar to signalhub listen -p $PORT)


Deploy with Heroku


Or via the CLI (after cloning this repo, from within the project root):

heroku login
heroku git:remote -a <your-app-name>
git push heroku master


hub = signalhubws(appName, urls, WebSocketClass)

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 = signalhubws('my-app-name', [

The appName is used to namespace the subscriptions/broadcast so you can reuse the signalhub for more than one app.

The WebSocketClass allows you to override the socket class implementation. signalhubws ships with the cws package on nodejs and uses the native Websocket implementation on browsers.

stream = hub.subscribe(channel)

Subscribe to a channel on the hub. Returns a readable stream of messages

hub.broadcast(channel, message, [callback])

Broadcast a new message to a channel on the hub


Close all subscriptions