套接字io在套接字连接时创建房间

时间:2020-08-28 00:15:56

标签: node.js socket.io

每次在应用程序中创建一个套接字加入房间时。这是正常行为吗?enter image description here

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

1 个答案:

答案 0 :(得分:2)

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

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

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

如果您出于某种原因希望能够识别出哪些房间是您创建的,哪些是自动socket.id形式,则可以在创建的房间上添加一个唯一的前缀,例如下划线,然后您可以分辨出哪些是您的,哪些是系统创建的。

当连接断开时,该房间也将消失。