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

如果一个客户join了多个房间并在这些房间里接收到消息,那么客户有没有办法确定他的消息来自哪个房间(没有在消息中包含房间)?

当你使一个套接字join一个特定的房间时,你可以像下面这样设置那个套接字的属性:

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'});