我有一个应用程序,它使用一个开放的JQuery Ajax连接来进行更新的长轮询/彗星处理。
有时浏览器和服务器会丢失此连接(服务器崩溃,网络问题等)。
我希望客户端检测到更新已崩溃并通知用户刷新页面。
最初看起来我有两个选择:
然而,在测试中,当 服务器 中止查询时,似乎都没有触发这些条件。
如何让我的客户了解服务器已经消失?
答案 0 :(得分:1)
是否可以添加每隔几秒或几分钟运行的setInterval()
函数?这样您就可以触发一个脚本来检查服务器是否仍在运行,如果没有,则重置彗星连接。 (我完全不知道你用于长轮询的是什么,所以我不知道是否可以在没有页面重新加载的情况下重置该连接。如果没有,你仍然可以向用户显示消息。)< / p>
这样的事情:
var check_server = setInterval(function() {
// run server-check-script...
// if (offline) { // reset }
}, 60000);