我使用以下脚本每2秒轮询一次服务器以检查用户是否已连接到VPN。
var uiBlocked = false;
window.setInterval(function() {
$.ajax({
cache: false,
type: 'HEAD',
url: '/heartbeat/',
timeout: 1000,
success: function(data, textStatus, XMLHttpRequest) {
if (uiBlocked == true && navigator.onLine) {
uiBlocked = false;
$.unblockUI();
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
if(textStatus != 'timeout'){
if (uiBlocked == false){
uiBlocked = true;
$.blockUI({
message: "Lost connectivity, please reconnect your VPN.",
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
} });
}
}
}
})
}, 2000);
问题在于,常规轮询昨天使PROD服务器停机。有没有替代方案,我可以在这里使用它来更有效地做到这一点。
答案 0 :(得分:0)
我会降低轮询率并确保服务器没有为每个请求创建新连接。
您没有提到它是什么类型的服务器,但该设置应该在所有服务器上称为KeepAlive。除此之外,还可以看一下服务器出现故障的原因?