Socket.DontFragment プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Socket でインターネット プロトコル (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
プロパティ値
true
が Socket データグラムの断片化を許可しない場合は 。それ以外の場合 false
は 。 既定値は、true
です。
例外
ソケットはファミリ内 InterNetwork にありません。
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
例
次のコード例では、 プロパティの使用方法を DontFragment 示します。
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}");
}
注釈
データグラムのサイズが伝送メディアの最大転送ユニット (MTU) を超えると、データグラムの断片化が必要になります。 データグラムは、送信ホスト (すべてのインターネット プロトコル バージョン) または中間ルーター (インターネット プロトコル バージョン 4 のみ) によって断片化される可能性があります。 データグラムをフラグメント化する必要があり DontFragment 、オプションが設定されている場合、データグラムは破棄され、インターネット制御メッセージ プロトコル (ICMP) エラー メッセージがデータグラムの送信者に送り返されます。
伝送制御プロトコル (TCP) ソケットでこのプロパティを設定しても効果はありません。
適用対象
.NET