4

以下の一般的なシナリオでは:

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) は行動という意味ですか? ドキュメントにはヒントがありません。

4

1 に答える 1

8

はい、それだけです!

NetworkStream クラスの ReadTimeout および WriteTimeout プロパティの実装を見ると、それらが Socket ReceiveTimeout および SendTimeout プロパティの周りの単なるラッパーであることがわかります (そして、TcpClient ReceiveTimeout および SendTimeout プロパティは、同じ名前の Socket プロパティの周りのラッパーです)。 .

最終的に、NS および TC オブジェクトを介して Socket の ReceiveTimeout および SendTimeout プロパティを取得または設定していることを意味します。

手短に :

NS.ReadTimeout == TC.ReceiveTimeout == Socket.ReceiveTimeout
MS.WriteTimeout == TC.SendTimeout == Socket.SendTimeout
于 2012-12-13T22:23:44.957 に答える