首先抱歉标题被误解了,但不能让它变得更好。所以这是我的问题:我正在使用 NodeJS 和 socket.IO。我有一个大厅系统,用于游戏之类的东西。您创建 root,其他人加入等。我希望当房间的所有者关闭连接时,房间应该自行删除。我是这样做的
db.game.findOne({ _id: ObjectId(roomId) }, function(err, item)
{
if ( err || !item || item.started )
return;
if ( item.createdBy == currentUser )
{
db.game.remove({ _id: ObjectId(roomId) }, function(err, item) {
io.sockets.in(roomId).emit('force_interupt');
});
}
它正在工作,但我有问题。如果该人只是在浏览器上按 REFRESH,则网络服务器(php、nginx、mongod)首先获取游戏内容 -> 显示它,然后游戏被 NodeJS 删除,因为连接丢失。有什么想法可以避免这种情况吗?