0

我正在尝试通过使用 IHttpAsyncHandler 和刷新来实现 HTTP 流。

基本上我每隔一段时间就会刷新响应 - 保存打开的连接直到超时 - 然后客户端应该启动另一个连接。

刷新确实有效,并且客户端在刷新时会收到刷新,但是响应正在聚合。例如,如果我发送以下刷新:

"TextOnFlush1"
"TextOnFlush2"
"TextOnFlush3"

客户端将获得以下刷新(在 XMLHttpRequest.responseText 中):

"TextOnFlush1"
"TextOnFlush1""TextOnFlush2"
"TextOnFlush1""TextOnFlush2""TextOnFlush3"

正如您所看到的,最终客户端将不得不处理一个非常大的消息(其中将包含所有先前的刷新)。有没有办法使用冲洗,但在每次冲洗时清洁响应?

请注意,响应标头包含此标头:“Transfer-Encoding:chunked”,这意味着我确实应该以块的形式获取内容,而是获取聚合消息。

4

1 回答 1

1

所以没有办法让浏览器在每次刷新时清理响应 - 所以限制这个 msg 大小并偶尔刷新大数据上的流式消息是一个好习惯。

于 2014-01-22T16:13:34.967 回答