gpt4 book ai didi

java - EventSource 中的错误处理

转载 作者:太空狗 更新时间:2023-10-29 15:08:54 26 4
gpt4 key购买 nike

我正在尝试创建一个页面,该页面使用 EvenSource 对象(在 javascript 中)来创建服务器发送事件( cometd )。我阅读了很多关于它的教程,但没有找到可以解释以下问题的教程:

  1. 当我订阅 EventSource 的“onerror”事件时 - 我得到的参数类型是什么?我如何确切地知道错误是什么?

  2. 我知道 EvenSource 有一个就绪状态,它的变化取决于浏览器。为什么在每次“onmessage”事件发生后我的就绪状态变为 0? (我使用 Chrome )。

  3. 我如何证明我与服务器的连接保持连接状态,而不是每次都重新连接?

浏览器:Chrome。

服务器端:Java(如果相关,我制作的示例是在 Java EE 预览版中。但我将在 WebLogic 10R3 上工作。

在我的示例中发生的是数据从服务器发送到客户端,然后发生“onerror”事件(就绪状态为 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");

如果您还想知道什么,请告诉我。希望你能帮助我。

谢谢!

最佳答案

您需要在服务器上保持连接,而不是响应它并关闭。

请参阅http://jcp.org/en/jsr/detail?id=315 ,或 Glassfish/Grizzly/Jetty 服务器。

关于java - EventSource 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12187484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com