【问题标题】:Socket io creates rooms when a socket connects套接字 io 在套接字连接时创建房间
【发布时间】:2020-08-28 08:46:53
【问题描述】:

每次套接字加入一个房间时,都会在我的应用程序中创建。这是正常行为吗?

我没有创建这些房间,因为您可以知道房间名称称为套接字的 ID,我觉得这很奇怪。这是正常行为吗?

【问题讨论】:

    标签: node.js socket.io


    【解决方案1】:

    这是正常行为。 Socket.io 使用连接的socket.id 的名称创建一个房间,并自动仅将该套接字放置在房间中。这使您可以执行以下操作:

    io.to(someSocketId).emit(...)
    

    因为socket.id 也是房间名称。由于socket.id 的值是唯一且随机的,并且所有房间参与都仅由服务器控制,因此它实际上只是一个服务器内务处理,不会影响其他任何事情。

    如果您有理由希望能够辨别哪些房间是您创建的房间以及哪些房间是自动 socket.id 表单,您可以在您创建的房间上添加一个唯一的前缀,例如下划线,然后您可以分辨出哪些是您的,哪些是系统创建的。

    当连接断开时,那个房间也会消失。

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多