答案 0 :(得分:2)
这是正常现象。 Socket.io用连接的socket.id
的名称创建一个房间,并自动仅将该套接字放置在房间中。这使您可以执行以下操作:
io.to(someSocketId).emit(...)
因为socket.id
也是房间名称。由于socket.id
的值是唯一且随机的,并且由于所有会议室的参与都仅由服务器控制,因此它实际上只是服务器管理的事情,不会影响其他任何事情。
如果您出于某种原因希望能够识别出哪些房间是您创建的,哪些是自动socket.id形式,则可以在创建的房间上添加一个唯一的前缀,例如下划线,然后您可以分辨出哪些是您的,哪些是系统创建的。
当连接断开时,该房间也将消失。