const WebSocket = require('ws'); const uuid = require('node-uuid'); const wss = new WebSocket.Server({ port: 8080 }); const DEBUG = true; const Server = { messageAll: (ws, message) => { wss.clients.forEach((client) => { if (client !== ws && client.readyState === WebSocket.OPEN) { client.send(ws.id + ' ' + message); } }); }, onMessage: (ws, message) => { DEBUG && console.log('Received: %s', message); Server.messageAll(ws, message); }, }; wss.on('connection', function connection(ws, req) { ws.id = uuid.v4(); DEBUG && console.log(req.url + ' connected to ' + ws.id); ws.on('message', Server.onMessage.bind(null, ws)); }); console.log("Websocket server listening on :8080")