我的meteor应用程序的客户端尝试以增加的时间间隔重新连接到服务器。使用((Meteor.status().retryTime - (new Date()).getTime())/1000).toFixed(0)
,我粗略估计重新连接间隔是第1次:1秒,第2次:2秒,第3次:4秒,第4次:12秒,第5次:18秒,第6次:62秒,第7次:108秒。有没有办法设置间隔长度?例如,无论我尝试重新连接多少次,我每次都可以将重新连接间隔设置为5秒吗?
答案 0 :(得分:8)
<强>更新强>: 我构建了一个包来实现这个功能 - nspangler:autoreconnect
我的最终解决方案是跟踪Meteor.status()
并在状态为waiting
时构建自定义时间间隔。这是客户端上的代码。
// Variable For Storing Interval ID
var intervalId = null;
Meteor.startup( function () {
// Interval Reconnect
Tracker.autorun( function () {
// Start Pinging For Recconect On Interval, only if status is faiting and intervalId is null
if(Meteor.status().status === "waiting" && intervalId === null) {
intervalId = Meteor.setInterval( function () {
console.log("attempt to reconnect");
Meteor.reconnect()
}, 1000);
console.log(intervalId);
}
// Stop Trying to Reconnect If Connected, and clear Interval
if(Meteor.status().status === "connected" && intervalId != null) {
console.log("cleared interval");
Meteor.clearInterval(intervalId);
intervalId = null;
}
})
});