したがって、サーバーにコメットソケットを実装し、データをブラウザに正常にプッシュできます。しかし、私がやりたいのは、コメット サーバーがドロップアウトしたときに 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;
}
}
しかし、たとえば、何らかの理由で接続が切断されたとしましょう。どうすれば元に戻すことができますか? たとえば、Web サイトをホストしているローカル サーバーがシャットダウンし、再び起動した場合、クライアントでタイムアウトをキャッチしたいと思いますか? そして、ページをリロードします。どうすればいいですか?接続がまだ生きているかどうかを判断するために ajax ping 要求を行うループを作成する必要がありますか? 彗星のソケットが死んだときにキャッチするより良い方法はありますか?