//Websocket Server <<<<<<<<<<<<<< var wsPort = 8081; var webPort = 8080; var subscribers = []; var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({port: wsPort}); var http = require('http'); var url = require('url'); var path = require('path'); var fs = require('fs'); var baseDirectory = '../web/' http.createServer(function (request, response) { try { var rurl = request.url; if(rurl=="/") { rurl = "/index.html"; } var requestUrl = url.parse(rurl) // need to use path.normalize so people can't access directories underneath baseDirectory var fsPath = baseDirectory+path.normalize(requestUrl.pathname); var fileStream = fs.createReadStream(fsPath) fileStream.pipe(response) fileStream.on('open', function() { response.writeHead(200) }) fileStream.on('error',function(e) { response.writeHead(404) // assume the file doesn't exist response.end() }) } catch(e) { response.writeHead(500) response.end() // end the response so browsers don't hang console.log(e.stack) } }).listen(webPort) wss.on('connection', function(ws) { subscribers.push(ws); ws.send(subscribers.length-1 + '###thatsYou'); for(var i=0;i= 1) { // this single interface has multiple ipv4 addresses console.log(" http://"+iface.address+":"+webPort); } else { // this interface has only one ipv4 adress console.log(" "+ifname+": ", "http://"+iface.address+":"+webPort); } ++alias; }); }); }