PingReply.Options Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém as opções usadas para transmitir a resposta a uma solicitação de eco no protocolo ICMP.
public:
property System::Net::NetworkInformation::PingOptions ^ Options { System::Net::NetworkInformation::PingOptions ^ get(); };
public System.Net.NetworkInformation.PingOptions? Options { get; }
public System.Net.NetworkInformation.PingOptions Options { get; }
member this.Options : System.Net.NetworkInformation.PingOptions
Public ReadOnly Property Options As PingOptions
Valor da propriedade
Um objeto PingOptions que contém o TTL (vida útil) e a diretiva de fragmentação usada para transmitir a resposta se Status for Success; caso contrário, null
.
Exemplos
O exemplo de código a PingOptions seguir envia uma solicitação de eco ICMP de forma síncrona e exibe os valores armazenados no objeto retornado por essa propriedade.
void LocalPing()
{
// Ping's the local machine.
Ping ^ pingSender = gcnew Ping;
IPAddress^ address = IPAddress::Loopback;
PingReply ^ reply = pingSender->Send( address );
if ( reply->Status == IPStatus::Success )
{
Console::WriteLine( "Address: {0}", reply->Address->ToString() );
Console::WriteLine( "RoundTrip time: {0}", reply->RoundtripTime );
Console::WriteLine( "Time to live: {0}", reply->Options->Ttl );
Console::WriteLine( "Don't fragment: {0}", reply->Options->DontFragment );
Console::WriteLine( "Buffer size: {0}", reply->Buffer->Length );
}
else
{
Console::WriteLine( reply->Status );
}
}
public static void LocalPing ()
{
// Ping's the local machine.
Ping pingSender = new Ping ();
IPAddress address = IPAddress.Loopback;
PingReply reply = pingSender.Send (address);
if (reply.Status == IPStatus.Success)
{
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
}
else
{
Console.WriteLine (reply.Status);
}
}
Comentários
O TTL define o número de vezes que os nós podem encaminhar um pacote à medida que ele viaja entre sua origem e destino. Se o número de encaminhamentos, também conhecido como saltos, exceder o valor especificado para o TTL, o pacote será considerado não entregue e será descartado.
O DontFragment valor especificado na solicitação de eco ICMP controla a fragmentação de pacotes. Se DontFragment for true
e o tamanho do pacote exceder a unidade de transmissão máxima do caminho de rede tomado pelo pacote, o pacote será descartado e o PacketTooBig erro será retornado.