NoDelay Propriedade
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Socket.NoDelay Propriedade

Gets or sets a Boolean value that specifies whether the stream Socket is using the Nagle algorithm.

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

public bool NoDelay { get; set; }

Valor da propriedade

Tipo: System.Boolean
false if the Socket uses the Nagle algorithm; otherwise, true. O padrão é false.

ExceçãoCondição
SocketException

An error occurred when attempting to access the Socket.Consulte a seção " Comentários " para obter mais informações.

ObjectDisposedException

The Socket has been closed.

O algoritmo Nagle reduz o tráfego de rede fazendo o soquete para pacotes do buffer de até 200 milissegundos e, em seguida, combina e envia-los em um pacote

A maioria dos aplicativos de rede deve usar o algoritmo Nagle.

Configuração This propriedade on a Soquete protocolo UDP (UDP) não will have efeito.

The following code example demonstrates the use of the NoDelay 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("");
		}


Contribuições da comunidade

ADICIONAR
Mostrar:
© 2016 Microsoft