mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-23 20:26:28 +00:00
52 lines
889 B
JavaScript
52 lines
889 B
JavaScript
|
'use strict'
|
||
|
|
||
|
var http = require('http')
|
||
|
var websocket = require('./')
|
||
|
var server = null
|
||
|
|
||
|
var port = module.exports.port = 8343
|
||
|
var url = module.exports.url = 'ws://localhost:' + module.exports.port
|
||
|
|
||
|
module.exports.start = function(opts, cb) {
|
||
|
if (server) {
|
||
|
cb(new Error('already started'));
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (typeof opts == 'function') {
|
||
|
cb = opts;
|
||
|
opts = {};
|
||
|
}
|
||
|
|
||
|
server = http.createServer()
|
||
|
opts.server = server
|
||
|
|
||
|
websocket.createServer(opts, echo)
|
||
|
|
||
|
server.listen(port, cb)
|
||
|
|
||
|
function echo(stream) {
|
||
|
stream.pipe(stream)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports.stop = function(cb) {
|
||
|
if (!server) {
|
||
|
cb(new Error('not started'))
|
||
|
return
|
||
|
}
|
||
|
|
||
|
server.close(cb)
|
||
|
server = null
|
||
|
}
|
||
|
|
||
|
if (!module.parent) {
|
||
|
module.exports.start(function(err) {
|
||
|
if (err) {
|
||
|
console.error(err);
|
||
|
return;
|
||
|
}
|
||
|
console.log('Echo server started on port ' + port);
|
||
|
});
|
||
|
}
|