Socket.DontFragment Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of internetprotocolgegevensgrammen Socket (IP) moeten worden gefragmenteerd.

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

Waarde van eigenschap

trueals datagramfragmentatie Socket niet is toegestaan; anders. false De standaardwaarde is true.

Uitzonderingen

De socket bevindt zich niet in de InterNetwork familie.

Er is een fout opgetreden bij het openen van de socket.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe de DontFragment eigenschap wordt gebruikt.

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

Opmerkingen

Datagrammen vereisen fragmentatie wanneer hun grootte groter is dan de MTU (Maximum Transfer Unit) van het transmissiemedium. Datagrammen kunnen worden gefragmenteerd door de verzendende host (alle Internet Protocol-versies) of een tussenliggende router (alleen Internet Protocol versie 4). Als een datagram moet worden gefragmenteerd en de DontFragment optie is ingesteld, wordt het datagram verwijderd en wordt een ICMP-foutbericht (Internet Control Message Protocol) teruggestuurd naar de afzender van het datagram.

Het instellen van deze eigenschap op een TCP-socket (Transmission Control Protocol) heeft geen effect.

Van toepassing op