Socket.DontFragment 屬性

定義

取得或設定值,此值指定 Socket 是否允許將網際網路通訊協定 (IP) 資料包分割為片段。

C#
public bool DontFragment { get; set; }

屬性值

true Socket如果 不允許資料報片段,則為 ,否則為 false。 預設為 true

例外狀況

套接字不在系列中 InterNetwork

嘗試存取通訊端時發生錯誤。

範例

下列程式代碼範例示範 如何使用 DontFragment 屬性。

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

備註

當數據報的大小超過傳輸媒體的最大傳輸單位 (MTU) 時,數據報需要分散。 傳送主機 (所有因特網通訊協定版本) 或中繼路由器 (因特網通訊協定第 4 版) ,可能會分散數據報。 如果數據報必須分散且 DontFragment 已設定選項,則會捨棄數據報,並將因特網控制訊息通訊協定 (ICMP) 錯誤訊息傳回給數據報的傳送者。

在傳輸控制通訊協議上設定此屬性, (TCP) 套接字沒有任何作用。

適用於

產品 版本
.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