【问题标题】:How to find the room in Which the socket is in?如何找到插座所在的房间?
【发布时间】:2018-09-26 20:09:04
【问题描述】:

我想知道插座在哪个房间?我想在断开连接事件期间向房间中的其他套接字广播

【问题讨论】:

  • 我发现自己在对象或地图或其他东西中跟踪套接字引用是最容易的。例如:stackoverflow.com/questions/11356001/socket-io-private-message/…
  • 其实我现在正在使用另一种方式。我创建了一个对象,它将套接字 ID 存储为键,并将房间 ID 存储为与套接字 ID 对应的值。所以当我需要房间 ID 时,我会从对象中获取它
  • 如果您一次只在一个房间里有一个套接字,您可以在将它加入房间时将该房间设置为socket 对象上的属性。 socket.currentRoom = room。然后,在断开连接后,您只需访问 socket.currentRoom 即可查看您在哪个房间。
  • @jfriend00 是的,与我创建对象并设置其属性/值的方法相比,这是一种更好的方法。非常感谢!

标签: node.js socket.io


【解决方案1】:

如果您一次只在一个房间中拥有一个套接字,则可以在将其加入房间时将该房间设置为套接字对象的属性。 socket.currentRoom = room。然后,在断开连接后,您只需访问 socket.currentRoom 即可查看您在哪个房间。

可以深入研究内部数据结构以找出套接字所在的房间,但如果您只使用一个房间,那么socket.currentRoom 可能是最简单的。

【讨论】:

    猜你喜欢
    • 2017-01-04
    • 1970-01-01
    • 2020-11-18
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多