var server = require('socket.io') var ws = module.exports = {} ws.listen = function(app){ ws.io = server(app) } ws.add = function(name){ var room = {} room.users = {} var ns = base.io.of('/' + name) ns.on('connection', function(socket){ var username socket.on('join', function(data){ username = data.username if (room.users[username]) { // already connected? room.users[username].disconnect() room.users[username] = socket } }) socket.on('message', function(data){ ns.emit('message', data) }) socket.on('disconnect', function(){ delete room.users[username] }) }) }