1

EventSource行为有点困惑。

它连接良好并保持连接,直到收到第一条消息。

当我发送一条data: something\n\n消息时,连接被断开并创建了一个新连接。

使用Content-Type: text/event-stream标头和连接被识别为事件流,并且检查器显示pending状态。

正如我所说,在我发送第一条消息之前,一切正常。

在此之后,连接被中断并创建了新的连接,并且消息没有发送到浏览器(至少页面没有按应有的方式更新)。

我的服务器和客户端代码与此处完全相同:http: //www.html5rocks.com/en/tutorials/eventsource/basics/

这发生在任何浏览器上。

4

1 回答 1

5

确保您的服务器代码没有发送Transfer-Encoding标头。

或者如果它发送它,请确保它没有设置为分块。

EventSource在分块时表现奇怪Transfer-Encoding

您可以删除Transfer-Encoding标题或将其设置为identity.

如果这没有帮助,请确保您的 Web 服务器没有将该标头设置为分块。

如果是这样并且您无法更新其配置,请确保您的代码将标identity头设置为(您的代码设置的标头将覆盖 Web 服务器设置的标头)。

如果您只是删除代码中的标头,浏览器将使用 Web 服务器设置的一组,
因此请确保将其设置为identity而不是删除。

于 2012-11-27T19:05:08.617 回答