TcpClient.NoDelay Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que deshabilita cualquier retraso cuando los búferes de envío o recepción no están llenos.
public:
property bool NoDelay { bool get(); void set(bool value); };
public bool NoDelay { get; set; }
member this.NoDelay : bool with get, set
Public Property NoDelay As Boolean
Valor de propiedad
true
si el retraso está deshabilitado; de lo contrario, false
. El valor predeterminado es false
.
Ejemplos
En el ejemplo de código siguiente se deshabilita el retraso. A continuación, comprueba el valor de NoDelay
para comprobar que la propiedad se estableció correctamente.
// Sends data immediately upon calling NetworkStream.Write.
tcpClient->NoDelay = true;
// Determines if the delay is enabled by using the NoDelay property.
if ( tcpClient->NoDelay)
Console::WriteLine( "The delay was set successfully to {0}", tcpClient->NoDelay );
// Sends data immediately upon calling NetworkStream.Write.
tcpClient.NoDelay = true;
// Determines if the delay is enabled by using the NoDelay property.
if (tcpClient.NoDelay)
Console.WriteLine ("The delay was set successfully to " + tcpClient.NoDelay.ToString ());
' Sends data immediately upon calling NetworkStream.Write.
tcpClient.NoDelay = True
' Determines if the delay is enabled by using the NoDelay property.
If tcpClient.NoDelay = True Then
Console.WriteLine(("The delay was set successfully to " + tcpClient.NoDelay.ToString()))
End If
Comentarios
Cuando NoDelay
es false
, un TcpClient no envía un paquete a través de la red hasta que haya recopilado una cantidad significativa de datos salientes. Debido a la cantidad de sobrecarga en un segmento TCP, el envío de pequeñas cantidades de datos es ineficaz. Sin embargo, existen situaciones en las que es necesario enviar cantidades muy pequeñas de datos o esperar respuestas inmediatas de cada paquete que envíe. La decisión debe pesar la importancia relativa de la eficiencia de la red frente a los requisitos de la aplicación.