使用 HttpWebRequest 上传文件时,对请求流的前两次写入总是几乎立即完成。我认为一定有某种缓冲发生,所以我禁用了,所以我这样做了
_req.AllowWriteStreamBuffering = false;
但这并没有产生任何影响。
这有点烦人,因为我通过平均最后 10 个写入速度来测量上传速度,所以一开始我的应用程序显示出非常快的速度,然后又回落到 50kbps 左右。
如果我能从第一次写入开始测量速度就太好了。
有什么想法吗?
最佳答案
TCP 堆栈可能会非常快速地从应用程序获取初始写入窗口。它正在后台发送数据(在立即接受数据后)。
AllowWriteStreamBuffering
告诉 HttpWebRequest
不要缓冲。它不告诉 TCP 做什么。
关于c# - HttpWebRequest 的前两次写入几乎立即发生,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868147/