NetworkStream.ReadTimeout 属性

定义

获取或设置读取操作阻止等待数据的时间。

public:
 virtual property int ReadTimeout { int get(); void set(int value); };
public override int ReadTimeout { get; set; }
member this.ReadTimeout : int with get, set
Public Overrides Property ReadTimeout As Integer

属性值

Int32 指定以毫秒为单位的时间量,表示读取操作失败前经过的时间。 默认值 Infinite 指定读取操作未超时。

例外

指定的值小于或等于零,并且不为 Infinite

示例

下面的代码示例将网络流的读取超时设置为 10 毫秒。

// Create a client that will connect to a
// server listening on the contosoServer computer
// at port 11000.
TcpClient tcpClient = new TcpClient();
tcpClient.Connect("contosoServer", 11000);
// Get the stream used to read the message sent by the server.
NetworkStream networkStream = tcpClient.GetStream();
// Set a 10 millisecond timeout for reading.
networkStream.ReadTimeout = 10;
// Read the server message into a byte buffer.
byte[] bytes = new byte[1024];
networkStream.Read(bytes, 0, 1024);
//Convert the server's message into a string and display it.
string data = Encoding.UTF8.GetString(bytes);
Console.WriteLine("Server sent message: {0}", data);
networkStream.Close();
tcpClient.Close();

注解

如果读取操作未在此属性指定的时间内完成,则读取操作将 IOException引发 。

注意

此属性仅影响通过调用 Read 方法执行的同步读取。 此属性不会影响通过调用 BeginReadReadAsync 方法执行的异步读取。

适用于