NetworkStream.ReadTimeout Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a quantidade de tempo que uma operação de leitura é bloqueada aguardando dados.
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
Valor da propriedade
Um Int32 que especifica o período, em milissegundos, que decorrerá antes da falha de uma operação de leitura. O valor padrão, Infinite, especifica que a operação de leitura não atinge o tempo limite.
Exceções
O valor especificado é menor ou igual a zero e não é Infinite.
Exemplos
O exemplo de código a seguir define o tempo limite de leitura para um fluxo de rede como 10 milissegundos.
// 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();
Comentários
Se a operação de leitura não for concluída dentro do tempo especificado por essa propriedade, a operação de leitura gerará um IOException.
Observação
Essa propriedade afeta apenas leituras síncronas executadas chamando o Read método . Essa propriedade não afeta leituras assíncronas executadas chamando o BeginRead método ou ReadAsync .