Socketio客户端识别消息来自哪个房间

时间:2014-02-19 20:56:53

标签: node.js socket.io

如果客户加入了多个房间并在这些房间收到消息,客户是否有办法确定他的消息来自哪个房间(没有在消息中加入房间)?

1 个答案:

答案 0 :(得分:0)

当您使套接字加入特定房间时,您可以将该套接字的属性设置为该房间,如下所示:

io.sockets.on('connection', function (socket) {
  var room = "yourRoomName";
  socket.on('join room', function(data){
    socket.join(room);
    socket.room = room;
  });
  socket.on('message', function(data){
    console.log('Received message '+data.message+' from room '+socket.room);
  })
});

<强>客户端:

socket.emit('join room', {your: 'data'});
socket.emit('message', {message: 'your message'});