Socket.DontFragment Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob der Socket die Fragmentierung von IP-Datagrammen (Internet Protocol) zulässt, oder legt diesen fest.
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
Eigenschaftswert
true wenn die Socket Datagrammfragmentierung nicht zulässig ist; andernfalls false. Der Standardwert ist true.
Ausnahmen
Der Socket befindet sich nicht in der InterNetwork Familie.
Fehler beim Versuch, auf den Socket zuzugreifen.
Der Socket wurde geschlossen.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des DontFragment-Attributs veranschaulicht.
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}");
}
Hinweise
Datagrams erfordern Fragmentierung, wenn ihre Größe die Maximum Transfer Unit (MTU) des Übertragungsmediums überschreitet. Datagrams können durch den sendenden Host (alle Internetprotokollversionen) oder einen Zwischenrouter (nur Internet protocol Version 4) fragmentiert werden. Wenn ein Datagramm fragmentiert werden muss und die DontFragment Option festgelegt ist, wird das Datagram verworfen, und eine Internet Control Message Protocol (ICMP)-Fehlermeldung wird an den Absender des Datagramms zurückgesendet.
Das Festlegen dieser Eigenschaft für einen TCP-Socket (Transmission Control Protocol) hat keine Auswirkung.