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 keine Socket Datagrammfragmentierung zulässt, false
andernfalls . Der Standardwert ist true
.
Ausnahmen
Der Socket ist 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
Datagramme erfordern eine Fragmentierung, wenn ihre Größe die MAXIMALE Übertragungseinheit (Maximum Transfer Unit, MTU) des Übertragungsmediums überschreitet. Datagramme können vom sendenden Host (alle Internetprotokollversionen) oder einem Zwischenrouter (nur Internetprotokollversion 4) fragmentiert sein. Wenn ein Datagramm fragmentiert werden muss und die DontFragment Option festgelegt ist, wird das Datagramm verworfen, und eine ICMP-Fehlermeldung (Internet Control Message Protocol) wird an den Absender des Datagramms zurückgesendet.
Das Festlegen dieser Eigenschaft für einen TCP-Socket (Transmission Control Protocol) hat keine Auswirkung.