Skip to content

Instantly share code, notes, and snippets.

@perguth
Last active September 11, 2015 15:09
Show Gist options
  • Select an option

  • Save perguth/7f4f5f3da0f9b77cc7be to your computer and use it in GitHub Desktop.

Select an option

Save perguth/7f4f5f3da0f9b77cc7be to your computer and use it in GitHub Desktop.
signalhub_test
var signalhub = require( 'signalhub')
var argv = require( 'minimist')( process.argv.slice( 2))
var Peer = require('simple-peer')
var uid = require('cuid')()
var log = require('fancy-log')
// hub
var hub = signalhub( 'signalhubTest', [
'http://x:7000' ])
function sendSomething (id) {
setTimeout( function (){
var obj = {}; obj[ 'p' + id] = uid
hub.broadcast( 'chan', obj)
sendSomething( id) }, 400) }
//sendSomething( argv.p)
// peer
var p = new Peer({ initiator: argv.start, wrtc: require( 'wrtc'), trickle: false })
hub.subscribe( 'chan')
.on( 'data', function (data){
if (!data[uid]) {
for (var val in data){ data = data[val] }
log( '[HUB] received data: ', JSON.stringify(data))
p.signal(data) } })
p.on( 'error', function (err){ log( err) })
p.on( 'signal', function (data){
var trickle = {}; trickle[uid] = data
log( '[HUB] sending data', JSON.stringify(data, null, 2))
hub.broadcast( 'chan', trickle) })
function sendSomething (id) {
setTimeout( function (){
log( '[RTC] sending data: "test"')
var data = {}; data[ 'p' + id] = uid
p.send( 'test')
sendSomething( id) }, 400) }
p.on( 'connect', function (){
log( '[RTC] connected...')
if (argv.p === 1) sendSomething( argv.p) })
p.on('data', function (data){ log( '[RTC] received data:', data) })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment