Ei kuvausta

server.js 802B

    var ws = require('ws'); var wss = new ws.Server({port: 8080}); wss.broadcast = function(data) { var msg = typeof data === "string" ? data : JSON.stringify(data); this.clients.forEach(function(client) { client.send(msg); }); }; wss.on('connection', function(ws) { var name = randomName(); wss.broadcast({type: "connect", author: name, timestamp: Date.now()}); ws.on('message', function(msg) { var msg = JSON.parse(msg); msg.author = name; msg.timestamp = Date.now(); wss.broadcast(msg); }); ws.on('close', function() { wss.broadcast({type: "disconnect", author: name, timestamp: Date.now()}); }); }); function randomName() { var name = ""; var a = "a".charCodeAt(0); for (var i = 0; i < 8; i++) { name += String.fromCharCode(a + Math.random() * 26); } return name; }