接收到第一个数据后,浏览器关闭了SSE连接

时间:2018-05-21 09:44:58

标签: spring java-8 server-sent-events

我写了一个spring sse应用程序,但在收到服务器的第一个数据后,sse发射器连接被关闭了。我搜索并分析了很多,并且知道它是关闭连接的浏览器(在我的情况下是firefox)。这就是我在应用程序日志中记录这个日志的原因

org.eclipse.jetty.io.EofException
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:292)
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:429)
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:322)
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:372)
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:750)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)



Caused by: java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:55)
at sun.nio.ch.IOUtil.write(IOUtil.java:148)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:503)
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:272)
... 29 more

这发生在第E1.send(value,MediaType.APPLICATION_JSON);行 据我所知,由于E1已关闭,因此该行抛出该异常,我无法理解为什么浏览器的行为如此,即在获取第一个数据后关闭exisitng连接。我在网上搜索了很多这个问题,但找不到任何解决方案。

请帮忙。我这个问题已经困了两个星期了。感谢。

1 个答案:

答案 0 :(得分:0)

我刚刚在WEB-INF中放置了html页面(包含javascript代码),并且它成功运行。以前我在war文件之外运行它并得到上述错误。现在它完美无缺。