我正在尝试使用IHttpAsyncHandler和刷新来实现HTTP Streaming。
基本上我每隔一段时间就会响应一次 - 保存连接打开,直到超时 - 然后客户端应该启动另一个连接。
刷新确实有效,客户端会在发生冲洗时收到冲洗,但响应会聚合。例如,如果我发送以下刷新:
"TextOnFlush1"
"TextOnFlush2"
"TextOnFlush3"
客户端将获得以下刷新(在XMLHttpRequest.responseText中):
"TextOnFlush1"
"TextOnFlush1""TextOnFlush2"
"TextOnFlush1""TextOnFlush2""TextOnFlush3"
正如您所看到的,客户端最终将需要处理非常大的消息(其中包含所有先前的刷新)。 有没有办法使用同花顺,但要清理每次冲洗时的反应?
请注意,响应头包含此标头:“Transfer-Encoding:chunked”,这意味着我确实应该以块的形式获取内容,而是获取聚合的消息。
答案 0 :(得分:1)
所以没有办法让浏览器清理每次刷新的响应 - 所以限制这个msg大小并在一段时间内刷新大数据上的流式消息是一个好习惯。