Partager via


Socket.DontFragment Propriété

Définition

Obtient ou définit une valeur qui spécifie si les Socket datagrammes de protocole Internet (IP) peuvent être fragmentés.

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 la Socket fragmentation du datagramme n’est pas autorisée ; sinon, false. La valeur par défaut est true.

Exceptions

Le socket n’est pas dans la InterNetwork famille.

Une erreur s’est produite lors de la tentative d’accès au socket.

Il 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 {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 à