问题描述
HttpListener为您提供响应流,但调用flush意味着什么(从源代码来看很清楚,因为它实际上什么都不做)。挖掘HTTP API内部显示这是HttpListener本身的限制。
HttpListener gives you response stream, but calling flush means nothing (and from sources it's clear, because it's actually doing nothing). Digging inside HTTP API shows that this is a limitation of HttpListener itself.
任何人都知道如何刷新HttpListener的响应流(可能是反射或额外的P / Invokes) ?
Anyone knows exactly how to flush response stream of HttpListener (may be with reflection or additional P/Invokes)?
更新:如果您没有刷新选项或能够定义缓冲区大小,则无法对任何内容进行http流处理。
Update: You can't http stream anything if you don't have a flush option or ability to define buffer size.
推荐答案
当Transfer-Encoding设置为Chuncked时,Flush仅适用于大多数System.Net命名空间,否则返回整个请求并且同花顺真的什么都不做。至少这是我在使用HttpWebResponse时所经历的。
Flush only works in most of the System.Net namespace when Transfer-Encoding is set to Chuncked, else the whole request is returned and Flush really does nothing. At least this is what I have experienced while working with HttpWebResponse.
这篇关于如何刷新HttpListener响应流?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!