所以我在我的服务器上实现了彗星套接字,并且能够将数据推送到浏览器。但我想要做的是在彗星服务器退出时捕获javascript / jquery。
我有我的iframe:
<div id="iframeDiv" style="visibility:hidden; height:0px">
<iframe id="comet" src="/messageSocket?-3711886712169888393"></iframe>
</div>
我有我的javascript来处理新消息:
// Comet Server Processes actions
var messageReceived = function(message) {
var commandType = message[1];
switch (commandType) {
case "1":
processActionData(message);
break;
...
default:
break;
}
}
但是比如说让连接因任何原因而下降?我怎样才能把它带回来?例如,如果托管网站的本地服务器关闭并重新开始备份,我希望客户端能够捕获超时?然后重新加载页面。我该怎么做呢?我是否需要创建一个循环来生成ajax ping请求以确定连接是否仍然存在?有什么更好的方法可以在彗星插座死亡时捕获它?
答案 0 :(得分:1)
我不确定彗星协议是如何工作的,但你可以做的一件事就是每隔几秒发送一条ping消息。如果服务器没有发送ping,idk,10秒,则假设服务器断开了连接。
我之前在客户端 - 服务器应用程序中使用过这种方法。