Skip to content

Commit

Permalink
fix: default host and port for command line tool
Browse files Browse the repository at this point in the history
  • Loading branch information
kalitine committed Aug 10, 2016
1 parent 4706ffe commit 750ad8a
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 69 deletions.
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,21 @@ Very simple signaling server based on WebSocket to test WebRTC.
### As library
```javascript
const sigver = require('sigver')
sigver.start({
host: process.env.NODE_IP || "localhost"
port: process.env.NODE_PORT || 8000

/**
* Start the server
* @param {string} host
* @param {number} port
* @param {callback} onStart
*/
sigver.start(host, port,
onStart: () => {

// Do something...

sigver.stop()
}
})
)
```


Expand Down
2 changes: 1 addition & 1 deletion bin/index.es5.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 6 additions & 10 deletions dist/sigver.es5.umd.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,19 @@
var KEY_UNKNOWN = 4003;
var KEY_NO_LONGER_AVAILABLE = 4004;

var settings = {
host: process.env.NODE_IP || 'localhost',
port: process.env.NODE_PORT || 8000,
onStart: function onStart() {}
};
var server = void 0;

function error(socket, code, msg) {
console.log('Error ' + code + ': ' + msg);
socket.close(code, msg);
}

function start(options) {
Object.assign(settings, options);
server = new WebSocketServer(settings, function () {
console.log('Server runs on: ' + settings.host + ':' + settings.port);
settings.onStart();
function start(host, port) {
var onStart = arguments.length <= 2 || arguments[2] === undefined ? function () {} : arguments[2];

server = new WebSocketServer({ host: host, port: port }, function () {
console.log('Server runs on: ' + host + ':' + port);
onStart();
});

server.on('connection', function (socket) {
Expand Down
9 changes: 7 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import {start} from './sigver'
const program = require('commander')

let host = process.env.NODE_IP || 'localhost'
let port = process.env.NODE_PORT || 8000

program
.version('7.3.0', '-v, --version')
.version('7.4.2', '-v, --version')
.option('-h, --host <n>', 'specify host (DEFAULT: process.env.NODE_IP || "localhost")')
.option('-p, --port <n>', 'specify port (DEFAULT: process.env.NODE_PORT || 8000)')
.on('--help', () => {
Expand All @@ -15,4 +18,6 @@ program
})
.parse(process.argv)

start({host: program.host, port: program.port})
if (program.host) host = program.host
if (program.port) port = program.port
start(host, port)
14 changes: 4 additions & 10 deletions src/sigver.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,17 @@ const KEY_ALREADY_EXISTS = 4002
const KEY_UNKNOWN = 4003
const KEY_NO_LONGER_AVAILABLE = 4004

let settings = {
host: process.env.NODE_IP || 'localhost',
port: process.env.NODE_PORT || 8000,
onStart: () => {}
}
let server

function error (socket, code, msg) {
console.log('Error ' + code + ': ' + msg)
socket.close(code, msg)
}

function start (options) {
Object.assign(settings, options)
server = new WebSocketServer(settings, () => {
console.log(`Server runs on: ${settings.host}:${settings.port}`)
settings.onStart()
function start (host, port, onStart = () => {}) {
server = new WebSocketServer({host, port}, () => {
console.log(`Server runs on: ${host}:${port}`)
onStart()
})

server.on('connection', (socket) => {
Expand Down
80 changes: 38 additions & 42 deletions test/sigver.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,54 +5,50 @@ const WebSocket = require('ws')
const host = 'localhost'
const port = 8000

sigver.start({
host,
port,
onStart: () => {
let master = new WebSocket('ws://localhost:' + port)
sigver.start(host, port, () => {
let master = new WebSocket('ws://localhost:' + port)

master.on('close', () => {
console.log(' 8) MASTER: web socket closed')
master.on('close', () => {
console.log(' 8) MASTER: web socket closed')
})
master.on('open', () => {
let msgNb = 1
master.on('message', (data, flags) => {
let msg = JSON.parse(data)
if (msg.hasOwnProperty('id') && msg.hasOwnProperty('data')) {
console.log('3 & 7) MASTER: data received')
if (msgNb > 0) {
msgNb--
master.send(JSON.stringify({id: msg.id, data: 'some data from master'}), () => {
console.log(' 4) MASTER: data sent')
})
} else {
master.close()
sigver.stop()
}
}
})
master.on('open', () => {
let msgNb = 1
master.on('message', (data, flags) => {
let msg = JSON.parse(data)
if (msg.hasOwnProperty('id') && msg.hasOwnProperty('data')) {
console.log('3 & 7) MASTER: data received')
if (msgNb > 0) {
msgNb--
master.send(JSON.stringify({id: msg.id, data: 'some data from master'}), () => {
console.log(' 4) MASTER: data sent')
master.send(JSON.stringify({key: '11111'}), () => {
console.log(' 1) MASTER: key sent')

let client = new WebSocket('ws://localhost:' + port + '/111111')
client.on('close', () => {
console.log(' 9) CLIENT: web socket closed')
})
client.on('open', () => {
client.on('message', (data, flags) => {
let msg = JSON.parse(data)
if (msg.hasOwnProperty('data')) {
console.log(' 5) CLIENT: data received')
client.send(JSON.stringify({data: 'some data from client'}), () => {
console.log(' 6) CLIENT: data sent')
})
} else {
master.close()
sigver.stop()
}
}
})
master.send(JSON.stringify({key: '11111'}), () => {
console.log(' 1) MASTER: key sent')

let client = new WebSocket('ws://localhost:' + port + '/111111')
client.on('close', () => {
console.log(' 9) CLIENT: web socket closed')
})
client.on('open', () => {
client.on('message', (data, flags) => {
let msg = JSON.parse(data)
if (msg.hasOwnProperty('data')) {
console.log(' 5) CLIENT: data received')
client.send(JSON.stringify({data: 'some data from client'}), () => {
console.log(' 6) CLIENT: data sent')
})
}
})
client.send(JSON.stringify({join: '11111', data: 'some data from client'}), () => {
console.log(' 2) CLIENT: join with data sent')
})
client.send(JSON.stringify({join: '11111', data: 'some data from client'}), () => {
console.log(' 2) CLIENT: join with data sent')
})
})
})
}
})
})

0 comments on commit 750ad8a

Please sign in to comment.