0

我的网站有一个 node.js 实时聊天系统。默认情况下,用户的会话将在 30 秒后过期,除非他们调用某些函数让服务器知道他们仍然在线,然后服务器将延长他们的会话。

但是,我发现会话过期后不会被删除。当我调用函数时:

Hub.prototype.find = function(username, fn) {
    for(var sid in this.sessions) {
        var session = this.sessions[sid],   //session still found even expired...
            sess_username = session.data('username');
        if(sess_username == username) {
            fn(session);
            return;
        }
    }
    fn(false);
};

现在即使会话过期,仍然可以找到“会话”。为什么?我怎样才能在条件中写入,这样它就不会找到任何过期的会话?

非常感谢!

4

1 回答 1

0

确保req.session.destroy()在您希望会话过期时使用,以便将其删除。

希望能帮助到你!

于 2013-09-23T14:22:30.917 回答