サーバー送信イベント (コメット) を作成するために、EvenSource オブジェクト (javascript) を使用するページを作成しようとしています。私はそれについて多くのチュートリアルを読みましたが、次の質問を説明するチュートリアルが見つかりませんでした:
EventSource の「onerror」イベントをサブスクライブすると、取得するパラメーターの型は何ですか? エラーの内容を正確に知るにはどうすればよいですか?
EvenSource には readystate があり、ブラウザーによって変化することを知っています。「onmessage」イベントが発生するたびに readystate が 0 に変わるのはなぜですか? (私はクロムを使用しています)。
サーバーへの接続が接続されたままで、毎回再接続しないことを証明するにはどうすればよいですか?
ブラウザ:クローム。
サーバー側: Java (関連する場合、私が作成した例は Java EE プレビューにあります。ただし、WebLogic 10R3 で作業する予定です。
私の例では、データがサーバーからクライアントに送信され、「onerror」イベントが発生し (readystate は 0)、3 秒後 (chrome のデフォルト) に再接続され、データが再度送信されます。
JavaScript コード:
var source = new EventSource("TrySRV");
source.onmessage = function(event){
alert(event.data);
}
source.onerror = function(event){
alert(source.readystate);
}
Java コード:
response.setHeader("Content-Type", "text/event-stream");
response.setHeader("Cache-Control", "no-cache");
response.getWriter.write("Hello World");
他に知りたいことが足りない場合は、教えてください。あなたが私を助けてくれることを願っています。
ありがとう!