Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Propriedade Socket.ReceiveTimeout

 

Obtém ou define um valor que especifica o tempo após o qual uma chamada Receive síncrona atingirá o tempo limite.

Namespace:   System.Net.Sockets
Assembly:  System (em System.dll)

public int ReceiveTimeout { get; set; }

Valor da Propriedade

Type: System.Int32

O valor de tempo limite, em milissegundos. O valor padrão é 0, que indica um período de tempo limite infinito. Especificar -1 também indica um período de tempo limite infinito.

Exception Condition
SocketException

Ocorreu um erro ao tentar acessar o soquete.

ObjectDisposedException

O Socket foi fechado.

ArgumentOutOfRangeException

O valor especificado para uma operação de definição é menor que -1.

This option applies to synchronous Overload:System.Net.Sockets.Socket.Receive calls only. If the time-out period is exceeded, the Overload:System.Net.Sockets.Socket.Receive method will throw a T:System.Net.Sockets.SocketException.

The following code example demonstrates the use of the P:System.Net.Sockets.Socket.ReceiveTimeout property.

static void ConfigureTcpSocket(Socket tcpSocket)
{
	// Don't allow another socket to bind to this port.
	tcpSocket.ExclusiveAddressUse = true;

	// The socket will linger for 10 seconds after 
                      // Socket.Close is called.
	tcpSocket.LingerState = new LingerOption (true, 10);

	// Disable the Nagle Algorithm for this tcp socket.
	tcpSocket.NoDelay = true;

	// Set the receive buffer size to 8k
	tcpSocket.ReceiveBufferSize = 8192;

	// Set the timeout for synchronous receive methods to 
	// 1 second (1000 milliseconds.)
	tcpSocket.ReceiveTimeout = 1000;

	// Set the send buffer size to 8k.
	tcpSocket.SendBufferSize = 8192;

	// Set the timeout for synchronous send methods
	// to 1 second (1000 milliseconds.)			
	tcpSocket.SendTimeout = 1000;

	// Set the Time To Live (TTL) to 42 router hops.
	tcpSocket.Ttl = 42;

	Console.WriteLine("Tcp Socket configured:");

	Console.WriteLine("  ExclusiveAddressUse {0}", 
				tcpSocket.ExclusiveAddressUse);

	Console.WriteLine("  LingerState {0}, {1}", 
			     tcpSocket.LingerState.Enabled, 
		             tcpSocket.LingerState.LingerTime);

	Console.WriteLine("  NoDelay {0}", 
                                              tcpSocket.NoDelay);

	Console.WriteLine("  ReceiveBufferSize {0}", 
				tcpSocket.ReceiveBufferSize);

	Console.WriteLine("  ReceiveTimeout {0}", 
				tcpSocket.ReceiveTimeout);

	Console.WriteLine("  SendBufferSize {0}", 
				tcpSocket.SendBufferSize);

	Console.WriteLine("  SendTimeout {0}", 
                                              tcpSocket.SendTimeout);

	Console.WriteLine("  Ttl {0}", 
                                              tcpSocket.Ttl);

                      Console.WriteLine("  IsBound {0}", 
                                              tcpSocket.IsBound);

	Console.WriteLine("");
}

.NET Framework
Disponível desde 2.0
Retornar ao início
Mostrar: