Sdílet prostřednictvím


PingReply.Options Vlastnost

Definice

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, nullpokud 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.

Platí pro