Socket.DontFragment Proprietà

Definizione

Ottiene o imposta un valore che specifica se la classe Socket consente la frammentazione dei datagrammi IP (Internet Protocol).

C#
public bool DontFragment { get; set; }

Valore della proprietà

true se l'oggetto non consente la frammentazione del Socket datagram; in caso contrario, false. Il valore predefinito è true.

Eccezioni

Il socket non è nella InterNetwork famiglia.

Si è verificato un errore durante il tentativo di accesso al socket.

L'oggetto Socket è stato chiuso.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso DontFragment della proprietà.

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

Commenti

I datagrammi richiedono la frammentazione quando le dimensioni superano l'unità di trasferimento massimo (MTU) del mezzo di trasmissione. I datagrammi possono essere frammentati dall'host di invio (tutte le versioni del protocollo Internet) o da un router intermedio (solo Protocollo Internet versione 4). Se un datagram deve essere frammentato e l'opzione DontFragment è impostata, il datagram viene rimosso e viene inviato un messaggio di errore ICMP (Internet Control Message Protocol) al mittente del datagram.

L'impostazione di questa proprietà su un socket TCP (Transmission Control Protocol) non ha alcun effetto.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1