C#Stream.ReadTimeout属性

C#Stream.ReadTimeout属性,c#,tcp,stream,network-programming,C#,Tcp,Stream,Network Programming,我正在研究流读取器超时属性。从文件上看,我不明白 这房子是怎么运作的 流读取器超时时会发生什么 有没有人能给我解释一下这些问题,或者指出一些比这更好的文档 示例代码: TcpClient client = new TcpClient(serverIP, serverTcpPort); Stream s = client.GetStream(); StreamReader sr = new StreamReader(s); sr.BaseStream.ReadTimeout = 100;

我正在研究流读取器超时属性。从文件上看,我不明白

  • 这房子是怎么运作的
  • 流读取器超时时会发生什么
有没有人能给我解释一下这些问题,或者指出一些比这更好的文档

示例代码:

TcpClient client = new TcpClient(serverIP, serverTcpPort);
Stream s = client.GetStream();
StreamReader sr = new StreamReader(s);
sr.BaseStream.ReadTimeout = 100;

文档非常清楚地指出,并不是每个流都实现ReadTimeout。流的某些子类可以实现此属性。因此,您需要查看子类的文档,以了解ReadTimeout的用法。 您的代码段将使用NetworkStream,它由返回

Stream s = client.GetStream();
Microsoft网站确实有此NetworkStream类及其
ReadTimeout
属性的特定文档,您可以在此处找到:

文档非常清楚地指出,并非每个流都实现ReadTimeout。流的某些子类可以实现此属性。因此,您需要查看子类的文档,以了解ReadTimeout的用法。 您的代码段将使用NetworkStream,它由返回

Stream s = client.GetStream();
Microsoft网站确实有此NetworkStream类及其
ReadTimeout
属性的特定文档,您可以在此处找到:

你没抓住什么?文档告诉您一切。如果超时,将抛出异常。文档中说,如果不支持它,它将抛出InvalidOperationException,没有编写任何内容超时时会发生什么,我已对其进行了代码测试,它的行为是随机的。要理解文档,您需要阅读正确的文档。正在使用
流的哪个实现<代码>文件流
<代码>内存流?相反,请转到该类的文档,所有内容可能都会显示出来。编辑问题添加示例代码我有什么您没有掌握的?文档告诉您一切。如果超时,将抛出异常。文档中说,如果不支持它,它将抛出InvalidOperationException,没有编写任何内容超时时会发生什么,我已对其进行了代码测试,它的行为是随机的。要理解文档,您需要阅读正确的文档。正在使用
流的哪个实现<代码>文件流
<代码>内存流?我已经添加了我正在使用的示例代码,我已经尝试查看了不同的流networkStream、IOStream,它们最终都指向同一个文档页面。我已经更新了我的答案,指向您在代码中使用的NetworkStream类的ReadTimeout属性文档。感谢您的帮助:)我添加了我正在使用的示例代码,我尝试查看了不同的流NetworkStream、IOStream,它们最终都指向同一文档页。我更新了我的答案,指向代码中使用的NetworkStream类的ReadTimeout属性文档。感谢帮助:)