PingReply.Options Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá možnosti použité k přenosu odpovědi na požadavek odezvy protokolu ICMP (Internet Control Message Protocol).
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
Hodnota vlastnosti
ObjektPingOptions, který obsahuje hodnotu TTL (Time to Live) a direktivu fragmentace používanou k přenosu odpovědi, null
pokud Status je Success; v opačném případě .
Příklady
Následující příklad kódu odešle požadavek na odezvu ICMP synchronně a zobrazí hodnoty uložené v objektu PingOptions vrácené touto vlastností.
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);
}
}
Poznámky
Hodnota TTL definuje, kolikrát uzly můžou předávat paket při cestě mezi jeho zdrojem a cílem. Pokud počet přesměrování, označovaný také jako směrování, překročí hodnotu zadanou pro hodnotu TTL, paket se považuje za nedoručitelný a je zahozen.
Fragmentaci DontFragment paketů řídí hodnota zadaná v požadavku na odezvu PROTOKOLU ICMP.
true
Pokud DontFragment je a velikost paketu překračuje maximální přenosovou jednotku síťové cesty zabrané paketem, paket se zahodí a PacketTooBig vrátí se chyba.