Socket.DontFragment Propiedad

Definición

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, falsees . 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.

Se aplica a