signalhub

Simple signalling server that can be used to coordinate handshaking with webrtc or other fun stuff.

Github星跟蹤圖

signalhub

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

build status

Usage

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'})

API

hub = signalhub(appName, urls)

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.

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

hub.close([callback])

Close all subscriptions

CLI API

You can use the command line api to run a hub server

signalhub listen -p 8080 # starts a signalhub server on 8080

To listen on https, use the --key and --cert flags to specify the path to the private
key and certificate files, respectively. These will be passed through to the node https
package.

To avoid logging to console on every subscribe/broadcast event use the --quiet or -q flag.

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

Browserify

This also works in the browser using browserify :)

Publicly available signalhubs

Through the magic of free hosting, here are some free open signalhub servers!
For serious applications though, consider deploying your own instances.

No additional configuration is needed.

now.sh

now mafintosh/signalhub

Heroku

Deploy

License

MIT

主要指標

概覽
名稱與所有者mafintosh/signalhub
主編程語言JavaScript
編程語言JavaScript (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2015-04-17 06:58:07
推送於2024-02-20 02:17:25
最后一次提交2017-10-12 15:30:42
發布數35
最新版本名稱v4.9.0 (發布於 2017-09-29 00:42:22)
第一版名稱v1.0.0 (發布於 2015-04-17 07:03:13)
用户参与
星數675
關注者數17
派生數94
提交數111
已啟用問題?
問題數23
打開的問題數13
拉請求數13
打開的拉請求數4
關閉的拉請求數6
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?