StreamSocketControl.NoDelay Propiedad
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í.
Valor que indica si el algoritmo nagle se usa en un objeto StreamSocket .
public:
property bool NoDelay { bool get(); void set(bool value); };
bool NoDelay();
void NoDelay(bool value);
public bool NoDelay { get; set; }
var boolean = streamSocketControl.noDelay;
streamSocketControl.noDelay = boolean;
Public Property NoDelay As Boolean
bool
Valor que indica si el algoritmo nagle se usa en la conexión TCP de un objeto StreamSocket .
Características de aplicaciones |
ID_CAP_NETWORKING [Windows Phone]
|
La propiedad NoDelay controla si el algoritmo de Nagle está habilitado o deshabilitado en un objeto StreamSocket . El valor predeterminado de la propiedad NoDelay es true.
El algoritmo de Nagle es una técnica para mejorar la eficacia de las redes TCP/IP al reducir el número de paquetes necesarios para enviarse a través de la red. El algoritmo intenta tratar los problemas causados por una aplicación que emite datos repetidamente en fragmentos pequeños. Un paquete TCP tiene un encabezado de 40 bytes (20 bytes para IP y 20 bytes para TCP). Por lo tanto, si una aplicación envía solo 4 bytes en un paquete, la sobrecarga en los datos del paquete es muy grande. Esto puede ocurrir para un protocolo de acceso remoto (telnet o secure Shell, por ejemplo), donde la mayoría de las pulsaciones de teclas pueden generar solo un solo byte o dos de datos que se transmiten inmediatamente. A través de un vínculo lento, muchos de estos paquetes pueden estar en tránsito a través de la red al mismo tiempo. El algoritmo de Nagle funciona mediante la combinación de una serie de mensajes salientes pequeños y el envío de todos ellos a la vez. Cuando hay un paquete enviado para el que el remitente no ha recibido ninguna confirmación, el remitente mantiene la salida en búfer hasta que tiene un paquete completo de salida. Esto permite que la salida se envíe a la vez. El impacto de aplicar el algoritmo de Nagle es aumentar el ancho de banda a costa de la latencia. Una aplicación bien escrita que los búferes envía internamente no debe necesitar usar el algoritmo de Nagle.
Cuando esta propiedad es true, StreamSocket deshabilitará el algoritmo de Nagle en la conexión TCP. Esta configuración reduce los posibles retrasos al enviar mensajes pequeños. Cuando se crea un Objeto StreamSocket , el valor predeterminado de esta propiedad es true.
Cuando esta propiedad es false, StreamSocket habilitará el algoritmo de Nagle en la conexión TCP. Esta configuración puede aumentar el ancho de banda a costa de la latencia, pero solo debe usarse con precaución. Hay algunos efectos secundarios adversos posibles cuando el algoritmo de Nagle está habilitado y también se usan otras optimizaciones TCP.
Esta propiedad se puede establecer antes de que se conecte StreamSocket . Una vez conectado StreamSocket , al establecer la propiedad se producirá un error.
Esta propiedad establece el valor de la opción de socket TCP_NODELAY en el socket TCP usado por StreamSocket.
Producto | Versiones |
---|---|
WinRT | Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100 |