Socket.DontFragment Propriété

Définition

Récupère ou définit une valeur qui spécifie si Socket autorise la fragmentation des datagrammes IP (protocole Internet).

public bool DontFragment { get; set; }

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.

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 {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.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1