Comet - 使用IHttpAsyncHandler的HTTP Streaming - 块无法正常工作

时间:2013-11-23 08:34:08

标签: asp.net http comet http-streaming ihttpasynchandler

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

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

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

"TextOnFlush1"
"TextOnFlush2"
"TextOnFlush3"

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

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

正如您所看到的,客户端最终将需要处理非常大的消息(其中包含所有先前的刷新)。 有没有办法使用同花顺,但要清理每次冲洗时的反应?

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

1 个答案:

答案 0 :(得分:1)

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