Socket.DontFragment Propriedade

Definição

Recebe ou define um valor que especifica se permite Socket que datagramas de Protocolo de Internet (IP) sejam fragmentados.

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 Propriedade

true se o Socket não permitir fragmentação de datagramas; caso contrário, false. A predefinição é true.

Exceções

O encaixe não pertence à InterNetwork família.

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Exemplos

O seguinte exemplo de código demonstra a utilização da DontFragment propriedade.

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

Observações

Os datagramas requerem fragmentação quando o seu tamanho excede a Unidade Máxima de Transferência (MTU) do meio de transmissão. Os datagramas podem ser fragmentados pelo host emissor (todas as versões do Protocolo Internet) ou por um router intermédio (apenas Versão 4 do Protocolo Internet). Se um datagrama tiver de ser fragmentado e a DontFragment opção for definida, o datagrama é descartado e uma mensagem de erro do Protocolo de Mensagens de Controlo da Internet (ICMP) é enviada de volta ao remetente do datagrama.

Definir esta propriedade num soquete do Protocolo de Controlo de Transmissão (TCP) não tem efeito.

Aplica-se a