gpt4 book ai didi

c# - TcpClient 超时与 NetworkStream 超时

转载 作者:太空狗 更新时间:2023-10-30 00:42:44 27 4
gpt4 key购买 nike

在下面的通用场景中:

System.Net.Sockets.TcpClient TC = SomeHowObtained;
System.Net.Sockets.NetworkStream NS = TC.GetStream();

据我所知有 3 次超时:

NS.ReadTimeout // 1
TC.SendTimeout // 2
TC.ReceiveTimeout // 3
NS.WriteTimeout // 4

(1) = (3) 和 (2) = (4) 是行为意义上的吗?文档没有给出提示。

最佳答案

是的,就是这样!

如果您查看 NetworkStream 类中 ReadTimeout 和 WriteTimeout 属性的实现,您会发现它们只是 Socket ReceiveTimeout 和 SendTimeout 属性的包装器(而 TcpClient ReceiveTimeout 和 SendTimeout 属性是同名)。

意味着最终您将通过 NS 和 TC 对象获取或设置 Socket 的 ReceiveTimeout 和 SendTimeout 属性,无论如何。

简而言之:

NS.ReadTimeout == TC.ReceiveTimeout == Socket.ReceiveTimeout
MS.WriteTimeout == TC.SendTimeout == Socket.SendTimeout

关于c# - TcpClient 超时与 NetworkStream 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869445/

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