PingReply.Options Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene las opciones utilizadas para transmitir la respuesta a un mensaje de solicitud de eco ICPM (Protocolo de mensajes de control de Internet).
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 de propiedad
Un objeto PingOptions que contiene el Período de vida (TTL) y la directiva de fragmentación que se utilizan para transmitir la respuesta si Status es Success; de lo contrario, null
.
Ejemplos
En el ejemplo de código siguiente se envía una solicitud de eco ICMP de forma sincrónica y se muestran los valores almacenados en el PingOptions objeto devuelto por esta propiedad.
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);
}
}
Comentarios
El TTL define el número de veces que los nodos pueden reenviar un paquete a medida que viaja entre su origen y destino. Si el número de reenvíos, también conocido como saltos, supera el valor especificado para el TTL, el paquete se considera no entregable y se descarta.
El DontFragment valor especificado en la solicitud de eco ICMP controla la fragmentación de paquetes. Si DontFragment es true
y el tamaño del paquete supera la unidad de transmisión máxima de la ruta de acceso de red tomada por el paquete, el paquete se descarta y se devuelve el PacketTooBig error.