【问题标题】:Socket.io find rooms the client has joinedSocket.io 查找客户加入的房间
【发布时间】:2014-08-26 09:15:16
【问题描述】:

有没有办法找到客户加入的房间?

我试图解决的情况如下:人们可以加入不同的房间,但如果有人离开,我想通知房间里的人。我知道我必须使用disconnect 事件并向那个房间里的所有人发送消息,但是我找不到知道这个人在哪个房间的方法。

io.sockets.on('connection', function(client) {
   client.on('disconnect', function() {
      // ...
   });
});

【问题讨论】:

    标签: socket.io socket.io-1.0


    【解决方案1】:

    client.rooms 可以解决问题。

    注意:请记住,根据docs

    为方便起见,每个套接字都会自动加入由该 id 标识的房间。

    所以默认情况下每个套接字至少连接到一个房间。

    【讨论】:

    • 我使用的是 socket.io 1.1,这个答案不起作用。在disconnect 事件被触发时,client.rooms 似乎已经清空了。
    • @lastoneisbearfood 好点!他们实际上改变了它的逻辑。来自new-in-socket.io-1.1-articleFixed room removal logic when leaving a room, props
    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 2018-12-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多