diff options
Diffstat (limited to 'server/websocket.js')
| -rw-r--r-- | server/websocket.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/websocket.js b/server/websocket.js new file mode 100644 index 0000000..ca54b68 --- /dev/null +++ b/server/websocket.js @@ -0,0 +1,34 @@ +var websocket = module.exports = {} +var io + +websocket.init = function(server){ + io = require('socket.io')(server) + return io +} + +websocket.bind = function(room){ + var room_socket = io.of('/' + room) + + var users = {}, messages = [] + + room_socket.on('connection', function(socket){ + + var nick + + socket.on("join", function(data){ + nick = data.nick + users[data.nick] = true + }) + + socket.on("msg", function(data){ + if (messages.length > 20) { messages.shift() } + messages.push(data) + room_socket.emit("msg", data) + }) + + socket.on("disconnect", function(){ + delete users[nick] + }) + + }) +} |
