StreamSocketControl.NoDelay Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Valeur qui indique si l’algorithme Nagle est utilisé sur un objet 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
Valeur de propriété
bool
Valeur qui indique si l’algorithme Nagle est utilisé sur la connexion TCP d’un objet StreamSocket
Configuration requise pour Windows
Fonctionnalités de l’application |
ID_CAP_NETWORKING [Windows Phone]
|
Remarques
La propriété NoDelay contrôle si l’algorithme de Nagle est activé ou désactivé sur un objet StreamSocket . La valeur par défaut de la propriété NoDelay 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 la connexion du StreamSocket . Une fois le StreamSocket connecté, la définition de la propriété entraîne une erreur.
Cette propriété définit la valeur de l’option de socket TCP_NODELAY sur le socket TCP utilisé par streamSocket.