Socket.DontFragment 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.
Récupère ou définit une valeur qui spécifie si Socket autorise la fragmentation des datagrammes IP (protocole Internet).
public:
property bool DontFragment { bool get(); void set(bool value); };
public bool DontFragment { get; set; }
member this.DontFragment : bool with get, set
Public Property DontFragment As Boolean
Valeur de propriété
true
si ne permet pas la Socket fragmentation du datagramme ; sinon, false
. La valeur par défaut est true
.
Exceptions
Le socket n’est pas dans la InterNetwork famille.
Une erreur s’est produite pendant la tentative d’accès au socket.
Socket a été fermé.
Exemples
L’exemple de code suivant illustre l’utilisation de la DontFragment propriété .
static void ConfigureUdpSocket(Socket^ udpSocket)
{
// Set the Don't Fragment flag.
udpSocket->DontFragment = true;
// Enable broadcast.
udpSocket->EnableBroadcast = true;
// Disable multicast loopback.
udpSocket->MulticastLoopback = false;
Console::WriteLine("Udp Socket configured:");
Console::WriteLine(" DontFragment {0}",
udpSocket->DontFragment);
Console::WriteLine(" EnableBroadcast {0}",
udpSocket->EnableBroadcast);
Console::WriteLine(" MulticastLoopback {0}",
udpSocket->MulticastLoopback);
}
static void ConfigureUdpSocket(Socket udpSocket)
{
// set the Don't Fragment flag.
udpSocket.DontFragment = true;
// Enable broadcast.
udpSocket.EnableBroadcast = true;
// Disable multicast loopback.
udpSocket.MulticastLoopback = false;
Console.WriteLine("Udp Socket configured:");
Console.WriteLine($" DontFragment {udpSocket.DontFragment}");
Console.WriteLine($" EnableBroadcast {udpSocket.EnableBroadcast}");
Console.WriteLine($" MulticastLoopback {udpSocket.MulticastLoopback}");
}
Remarques
Les datagrammes nécessitent une fragmentation lorsque leur taille dépasse l’unité de transfert maximale (MTU) du support de transmission. Les datagrammes peuvent être fragmentés par l’hôte d’envoi (toutes les versions du protocole Internet) ou un routeur intermédiaire (Internet Protocol Version 4 uniquement). Si un datagramme doit être fragmenté et que l’option DontFragment est définie, le datagramme est ignoré et un message d’erreur ICMP (Internet Control Message Protocol) est renvoyé à l’expéditeur du datagramme.
La définition de cette propriété sur un socket TCP (Transmission Control Protocol) n’a aucun effet.