Socket.DontFragment Egenskap

Definition

Hämtar eller anger ett värde som anger om Socket tillåtna IP-datagram (Internet Protocol) ska fragmenteras.

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

Egenskapsvärde

trueom inte tillåter fragmentering av Socket datagram, annars . false Standardvärdet är true.

Undantag

Sockeln finns inte i InterNetwork familjen.

Ett fel uppstod vid försök att komma åt socketen.

Exempel

Följande kodexempel visar hur egenskapen används DontFragment .

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

Kommentarer

Datagram kräver fragmentering när deras storlek överskrider MTU (Maximum Transfer Unit) för överföringsmediet. Datagram kan fragmenteras av den sändande värden (alla Internet Protocol-versioner) eller en mellanliggande router (endast Internet Protocol Version 4). Om ett datagram måste fragmenteras och DontFragment alternativet anges ignoreras datagrammet och ett ICMP-felmeddelande (Internet Control Message Protocol) skickas tillbaka till datagrammets avsändare.

Att ange den här egenskapen på en TCP-socket (Transmission Control Protocol) har ingen effekt.

Gäller för