【发布时间】:2020-08-28 08:46:53
【问题描述】:
【问题讨论】:
【问题讨论】:
这是正常行为。 Socket.io 使用连接的socket.id 的名称创建一个房间,并自动仅将该套接字放置在房间中。这使您可以执行以下操作:
io.to(someSocketId).emit(...)
因为socket.id 也是房间名称。由于socket.id 的值是唯一且随机的,并且所有房间参与都仅由服务器控制,因此它实际上只是一个服务器内务处理,不会影响其他任何事情。
如果您有理由希望能够辨别哪些房间是您创建的房间以及哪些房间是自动 socket.id 表单,您可以在您创建的房间上添加一个唯一的前缀,例如下划线,然后您可以分辨出哪些是您的,哪些是系统创建的。
当连接断开时,那个房间也会消失。
【讨论】: