summaryrefslogtreecommitdiff
path: root/server/websocket.js
blob: ca54b68144a6deb1d534116cb7ccb36834142695 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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]
    })

  })
}