PingReply.Options Właściwość

Definicja

Pobiera opcje używane do przesyłania odpowiedzi do żądania echa protokołu komunikacyjnego sterowania Internetem (ICMP).Gets the options used to transmit the reply to an Internet Control Message Protocol (ICMP) echo request.

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

Wartość właściwości

PingOptions

PingOptionsObiekt, który zawiera czas wygaśnięcia (TTL) i dyrektywę fragmentacji używaną do przesyłania odpowiedzi Status , jeśli jest Success ; w przeciwnym razie null .A PingOptions object that contains the Time to Live (TTL) and the fragmentation directive used for transmitting the reply if Status is Success; otherwise, null.

Przykłady

Poniższy przykład kodu wysyła synchronicznie żądanie echa ICMP i wyświetla wartości przechowywane w PingOptions obiekcie zwracanym przez tę właściwość.The following code example sends an ICMP echo request synchronously and displays the values stored in the PingOptions object returned by this property.

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);
    }
}

Uwagi

Czas wygaśnięcia określa, ile razy węzły mogą przekazywać pakiet w miarę ich przesyłania między źródłem i miejscem docelowym.The TTL defines the number of times nodes can forward a packet as it travels between its source and destination. Jeśli liczba przesyłania dalej, znana także jako przeskoki, przekracza wartość określoną dla czasu wygaśnięcia, pakiet jest uznawany za niedostarczenie i jest odrzucany.If the number of forwards, also known as hops, exceeds the value specified for the TTL, the packet is deemed undeliverable and is discarded.

DontFragmentWartość określona w żądaniu echa ICMP kontroluje fragmentację pakietu.The DontFragment value specified in the ICMP echo request controls packet fragmentation. Jeśli DontFragment jest true i rozmiar pakietu przekracza maksymalną jednostkę transmisji ścieżki sieciowej podejmowanej przez pakiet, pakiet zostanie odrzucony i PacketTooBig zwracany jest błąd.If DontFragment is true and the packet size exceeds the maximum transmission unit of the network path taken by the packet, the packet is discarded and the PacketTooBig error is returned.

Dotyczy