Partager via


StreamSocketListenerControl.NoDelay Propriété

Définition

Valeur qui indique si l’algorithme Nagle est utilisé sur un objet StreamSocket créé lorsqu’une connexion est reçue par l’objet StreamSocketListener .

public:
 property bool NoDelay { bool get(); void set(bool value); };
bool NoDelay();

void NoDelay(bool value);
public bool NoDelay { get; set; }
var boolean = streamSocketListenerControl.noDelay;
streamSocketListenerControl.noDelay = boolean;
Public Property NoDelay As Boolean

Valeur de propriété

Boolean

bool

Valeur qui indique si l’algorithme Nagle est utilisé sur la connexion TCP d’un objet StreamSocket créé.

Remarques

La propriété NoDelay contrôle si l’algorithme de Nagle est activé ou désactivé sur un objet StreamSocket créé. La valeur par défaut de la propriété NoDelay sur un StreamSocket est true.

L’algorithme de Nagle est une technique permettant d’améliorer l’efficacité des réseaux TCP/IP en réduisant le nombre de paquets qui doivent être envoyés sur le réseau. L’algorithme tente de traiter les problèmes causés par une application qui émet à plusieurs reprises des données en petits blocs. Un paquet TCP a un en-tête de 40 octets (20 octets pour IP et 20 octets pour TCP). Par conséquent, si une application n’envoie que 4 octets dans un paquet, la surcharge sur les données de paquet est très importante. Cela peut se produire pour un protocole d’accès à distance (telnet ou un interpréteur de commandes sécurisé, par exemple) où la plupart des pressions sur les touches ne peuvent générer qu’un ou deux octets de données qui sont transmises immédiatement. Sur une liaison lente, la plupart de ces paquets peuvent être en transit sur le réseau en même temps. L’algorithme de Nagle fonctionne en combinant un certain nombre de petits messages sortants et en les envoyant tous à la fois. Lorsqu’il existe un paquet envoyé pour lequel l’expéditeur n’a reçu aucun accusé de réception, l’expéditeur conserve la mise en mémoire tampon de la sortie jusqu’à ce qu’il ait la valeur d’un paquet complet de sortie. Cela permet d’envoyer la sortie en même temps. L’impact de l’application de l’algorithme de Nagle est d’augmenter la bande passante au détriment de la latence. Une application bien écrite que la mémoire tampon envoie en interne ne doit pas avoir besoin d’utiliser l’algorithme de Nagle.

Lorsque cette propriété a la valeur true, streamSocket désactive l’algorithme de Nagle sur la connexion TCP. Ce paramètre réduit les délais potentiels lors de l’envoi de petits messages. Lorsqu’un StreamSocket est créé, la valeur par défaut de cette propriété est true.

Lorsque cette propriété a la valeur false, streamSocket active l’algorithme de Nagle sur la connexion TCP. Ce paramètre peut augmenter la bande passante au détriment de la latence, mais ne doit être utilisé qu’avec précaution. Certains effets secondaires indésirables sont possibles lorsque l’algorithme de Nagle est activé et que d’autres optimisations TCP sont également utilisées.

Cette propriété peut être définie avant que StreamSocketListener ne commence à écouter les connexions entrantes. Une fois que StreamSocketListener commence à écouter les connexions entrantes, la définition de la propriété génère une erreur.

Cette propriété définit la valeur de l’option de socket TCP_NODELAY sur le socket TCP utilisé par streamSocket.

S’applique à

Voir aussi