【发布时间】:2014-03-09 04:10:00
【问题描述】:
我有使用 socket.io 的在线文件编辑应用程序。用户加入与他们想要使用的特定文件相关的房间。我不想每次用户更改某些内容时都使用文件系统,因此文件缓存在内存中,但是当文件不再使用时,我想将其保存在磁盘上。 据我所知,一旦用户断开连接,他们就会被从房间中移除。有没有办法订阅“房间空”事件?
【问题讨论】:
标签: javascript node.js socket.io
我有使用 socket.io 的在线文件编辑应用程序。用户加入与他们想要使用的特定文件相关的房间。我不想每次用户更改某些内容时都使用文件系统,因此文件缓存在内存中,但是当文件不再使用时,我想将其保存在磁盘上。 据我所知,一旦用户断开连接,他们就会被从房间中移除。有没有办法订阅“房间空”事件?
【问题讨论】:
标签: javascript node.js socket.io
你可以使用
socket.on('disconnect', function() {})
并计算打开的连接数。
【讨论】:
如果你以某种方式管理房间,那么你可以使用这个:
io.sockets.clients('room name');
这会返回房间中所有客户端的套接字实例。如果此列表的长度为 0,则表示文件不再被任何客户端使用并且可以保存。希望这会奏效!
【讨论】: