【发布时间】:2014-04-18 04:26:00
【问题描述】:
众所周知,当您更新 nodejs 文件并将其上传到您的服务器时,它需要重新启动才能应用 - 但如果您使用 nodemon 之类的东西,它会自动重新启动您的服务器,您的客户端已登录的用户需要刷新屏幕。
所以我想知道,有没有一种方法可以在我的服务器关闭/重新启动时触发“注销”,以便至少刷新客户端以便他们知道发生了什么?
就目前而言,他们会广播未定义的错误,因为他们的会话已丢失?
我尝试使用我称为authenticate的函数进行验证
function authenticate(req,res,next) {
if (!req.session.loggedIn) {
fs.readFile('./html/login.html', "utf8", function(err, html) {
res.send(html);
});
} else next();
}
这是我调用函数的方式:
app.io.route('move', authenticate, function(req) {
但我的服务器崩溃了,因为此时参数未定义。
基本上将其视为onbeforeunload 事件,但不是浏览器,而是服务器。
【问题讨论】:
-
izuriel 我使用的是 socket.io,它嵌入在 express.io 中。我只是不知道如何检测重启
-
我已经删除了我的 cmets 并用一个答案替换了它们以扩展我的意思。
标签: javascript node.js session