Socket.DontFragment Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.