我使用socket.io进行在线文件编辑应用程序。用户加入与他们想要使用的特定文件相关的房间。每次用户更改内容时我都不想使用文件系统,因此文件缓存在内存中,但是当文件不再使用时我想将其保存在磁盘上。 据我所知,用户一旦断开连接就会从房间中移除。有没有办法订阅“房间空”活动?
答案 0 :(得分:1)
您可以使用
socket.on('disconnect', function() {})
并计算打开的连接数。
答案 1 :(得分:0)
如果你以某种方式管理房间,那么你可以使用它:
io.sockets.clients('room name');
这将返回一个房间中所有客户端的套接字实例。如果此列表的长度为0,则表示任何客户端都不再使用该文件,并且可以保存该文件。希望这会奏效!