diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-08-05 16:00:22 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-08-05 16:00:22 -0400 |
| commit | 4d6b5e96fbab0602c1781a8b7c06f32aa9d56d99 (patch) | |
| tree | d96e5b22a477b8a7620ddb5a8b152a740bb61404 /server/ws.js | |
| parent | b9aaeaf616ed0a46a81e313bede00f1598d245ca (diff) | |
finish merge
Diffstat (limited to 'server/ws.js')
| -rw-r--r-- | server/ws.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/server/ws.js b/server/ws.js index 860319a..5819b94 100644 --- a/server/ws.js +++ b/server/ws.js @@ -10,30 +10,35 @@ ws.listen = function(app){ } ws.add = function(name){ if (name in rooms) { return } - var room = {} + var room = rooms[name] = {} room.users = {} + sockets = {} var ns = base.io.of('/' + name) ns.on('connection', function(socket){ - var username + var nick socket.on('join', function(data){ - username = data.username - if (room.users[username]) { + nick = data.nick + if (sockets[nick]) { // already connected? - room.users[username].disconnect() - room.users[username] = socket + sockets[nick].disconnect() + sockets[nick] = socket + room.users[nick] = true } }) socket.on('message', function(data){ + if (messages.length > 20) { messages.shift() } + messages.push(data) ns.emit('message', data) }) socket.on('disconnect', function(){ - delete room.users[username] + delete sockets[nick] + delete room.users[nick] }) }) |
