Compartir a través de


StreamSocketControl.NoDelay Propiedad

Definición

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

Valor de propiedad

Boolean

bool

Valor que indica si el algoritmo nagle se usa en la conexión TCP de un objeto StreamSocket .

Requisitos de Windows

Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone]

Comentarios

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.

Se aplica a

Consulte también