gpt4 book ai didi

javascript - 客户端断开连接后服务器清理

转载 作者:行者123 更新时间:2023-12-03 03:49:05 25 4
gpt4 key购买 nike

有没有办法通过刷新或离开页面来检测客户端何时与 Meteor 服务器断开连接,以便服务器可以尝试进行一些清理?

最佳答案

一种技术是实现每个客户端定期调用的“keepalive”方法。这假设您在每个客户端的 Session 中都有一个 user_id

// server code: heartbeat method
Meteor.methods({
keepalive: function (user_id) {
if (!Connections.findOne(user_id))
Connections.insert({user_id: user_id});

Connections.update(user_id, {$set: {last_seen: (new Date()).getTime()}});
}
});

// server code: clean up dead clients after 60 seconds
Meteor.setInterval(function () {
var now = (new Date()).getTime();
Connections.find({last_seen: {$lt: (now - 60 * 1000)}}).forEach(function (user) {
// do something here for each idle user
});
});

// client code: ping heartbeat every 5 seconds
Meteor.setInterval(function () {
Meteor.call('keepalive', Session.get('user_id'));
}, 5000);

关于javascript - 客户端断开连接后服务器清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com