Socket.DontFragment Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que especifica si Socket permite fragmentar los datagramas del protocolo de Internet (IP).
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
Valor de propiedad
true
es si no permite la Socket fragmentación del datagrama; de lo contrario, false
es . De manera predeterminada, es true
.
Excepciones
El socket no está en la InterNetwork familia.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Ejemplos
En el ejemplo de código siguiente se muestra el uso de la DontFragment propiedad .
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}");
}
Comentarios
Los datagramas requieren fragmentación cuando su tamaño supera la unidad de transferencia máxima (MTU) del medio de transmisión. Los datagramas se pueden fragmentar mediante el host de envío (todas las versiones del Protocolo de Internet) o un enrutador intermedio (solo protocolo de Internet versión 4). Si se debe fragmentar un datagrama y se establece la DontFragment opción , se descarta el datagrama y se devuelve un mensaje de error del Protocolo de mensajes de control de Internet (ICMP) al remitente del datagrama.
Establecer esta propiedad en un socket del Protocolo de control de transmisión (TCP) no tiene ningún efecto.