PingReply.Options Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene le opzioni utilizzate per trasmettere la risposta a una richiesta echo del protocollo 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
Valore della proprietà
Oggetto PingOptions che contiene la durata (TTL, Time to Live) e la direttiva di frammentazione usata per trasmettere la risposta se la proprietà Status e Success; altrimenti, null
.
Esempio
L'esempio di codice seguente invia una richiesta echo ICMP in modo sincrono e visualizza i valori archiviati nell'oggetto PingOptions restituito da questa proprietà.
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);
}
}
Commenti
Il TTL definisce il numero di volte in cui i nodi possono inoltrare un pacchetto mentre viaggia tra il relativo origine e la destinazione. Se il numero di inoltro, noto anche come hop, supera il valore specificato per il TTL, il pacchetto viene considerato nondeliverable e viene rimosso.
Il DontFragment valore specificato nella richiesta echo ICMP controlla la frammentazione dei pacchetti. Se DontFragment è true
e la dimensione del pacchetto supera l'unità di trasmissione massima del percorso di rete eseguita dal pacchetto, il pacchetto viene eliminato e viene restituito l'errore PacketTooBig .