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
Socket pokud neumožňuje fragmentaci datagramu, false
v opačném případě hodnota . Výchozí formát je true
.
Výjimky
Zásuvka není v rodině InterNetwork .
Při pokusu o přístup k soketu došlo k chybě.
Byla Socket 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 {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}");
}
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 Protocol) nebo zprostředkujícím směrovačem (pouze protokol IP verze 4). Pokud musí být datagram fragmentován a DontFragment je nastavena možnost , datagram je zahozen a chybová zpráva protokolu ICMP (Internet Control Message Protocol) je odeslána zpět odesílateli datagramu.
Nastavení této vlastnosti na soketu protokolu TCP (Transmission Control Protocol) nemá žádný vliv.