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