Socket.DontFragment Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che specifica se la classe Socket consente la frammentazione dei datagrammi IP (Internet Protocol).
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
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à.
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}");
}
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per