gpt4 book ai didi

.net - HttpWebRequest 的 Timeout 和 ReadWriteTimeout——这些对底层 TCP 连接意味着什么?

转载 作者:可可西里 更新时间:2023-11-01 02:29:32 26 4
gpt4 key购买 nike

我相信我了解 HttpWebRequest.TimeoutHttpWebRequest.ReadWriteTimeout 之间的实际区别。但是,我希望进一步清楚这两个超时之间的区别,包括这些值相对于底层 TCP 连接/缓冲区/状态 if 的含义适用

例如,这些超时仅在 TCP 连接初始化期间使用,还是仅用于监视非托管连接的托管值?

在 TCP 术语中,这些超时中的每一个都适用或不适用的客户端-服务器场景是什么?

最佳答案

这个问题已经在另一个问题上争论过了,见Adjusting HttpWebRequest Connection Timeout in C# .讨论让我头晕目眩,所以我将提供我的总结。

不过,MSDN 解释说 HttpWebRequest.Timeout Property适用于 HttpWebRequest.GetResponseHttpWebRequest.GetRequestStream 调用,描述有点困惑。

Jim Mischel更有帮助:Timeout “是服务器响应请求的时间,而不是等待服务器响应并发送所有数据的时间。”因此,Timeout 涵盖建立工作连接。对于大负载,这并不意味着请求/回复已完成。

ReadWriteTimeout 适用于对通过连接传输的流​​的读取或写入操作。例如。当您写入 GetRequestStream 返回的流时。连接已经建立,但存在断开的风险。例如。网络连接中断。

Jim Mischel 链接提供了一些关于设置这些超时值的非常好的建议。 IE。 ReadWriteTimeout 的默认值太长。

关于.net - HttpWebRequest 的 Timeout 和 ReadWriteTimeout——这些对底层 TCP 连接意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7250983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com