我有一个基于 node.js 的实时聊天系统。我让用户向服务器发送一个信号,告诉服务器他/她在线,所以我会延长他们的会话以防止它过期。默认过期时间为 10 秒。
现在,我注意到会话在过期后不会被删除。所以当我调用函数时:
Hub.prototype.find = function(username, fn) {
for(var sid in this.sessions) {
var session = this.sessions[sid],
sess_username = session.data('username');
if(sess_username == username) {
fn(session);
return;
}
}
fn(false);
};
它仍然返回会话,意味着他们仍然可以在 this.sessions 数组中找到会话。当找到的会话过期时,如何让它返回 false?我怎么知道?
非常感谢!