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 Socket pokud neumožňuje fragmentaci datagramu, falsev 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ě.

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.

Platí pro