Прочитать на английском

Поделиться через


NetworkStream.ReadTimeout Свойство

Определение

Возвращает или задает время, в течение которого операция чтения блокирует ожидание данных.

public override int ReadTimeout { get; set; }

Значение свойства

Объект 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 путем вызова метода . Это свойство не влияет на асинхронные операции чтения, выполняемые BeginRead путем вызова метода или ReadAsync .

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1