Sdílet prostřednictvím


Socket.DontFragment Vlastnost

Definice

Získá nebo nastaví hodnotu, která určuje, zda Socket umožňuje protokol IP (Internet Protocol) datagramy fragmentovat.

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

Hodnota vlastnosti

true pokud fragmentace datagramu Socket nepovoluje, jinak false. Výchozí hodnota je true.

Výjimky

Soket není v rodině InterNetwork .

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Příklady

Následující příklad kódu ukazuje použití DontFragment vlastnosti.

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}");
}

Poznámky

Datagramy vyžadují fragmentaci, pokud jejich velikost překračuje maximální jednotku přenosu (MTU) přenosového média. Datagramy mohou být fragmentovány odesílajícím hostitelem (všechny verze protokolu INTERNET) nebo zprostředkujícím směrovačem (pouze protokol IP verze 4). Pokud musí být datagram fragmentován a je nastavena DontFragment možnost, datagram se zahodí a chybová zpráva protokolu ICMP (Internet Control Message Protocol) se odešle zpět odesílateli datagramu.

Nastavení této vlastnosti na soketu TCP (Transmission Control Protocol) nemá žádný vliv.

Platí pro