PingReply.Options Свойство

Определение

Возвращает параметры, используемые для передачи ответа на запрос проверки связи 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; }
member this.Options : System.Net.NetworkInformation.PingOptions
Public ReadOnly Property Options As PingOptions

Значение свойства

Объект PingOptions, содержащий срок жизни и директиву фрагментации, которые используются для передачи ответа, если свойство Status имеет значение Success; в противном случае — 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.

Примеры

В следующем примере кода запрос проверки связи ICMP отправляется синхронно и отображаются значения, хранящиеся в PingOptions объекте, возвращенном этим свойством.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);
    }
}

Комментарии

TTL определяет, сколько раз узлы могут пересылать пакет по мере того, как он перемещается между источником и назначением.The TTL defines the number of times nodes can forward a packet as it travels between its source and destination. Если число пересылок, также называемое прыжками, превышает значение, указанное для параметра TTL, пакет считается недоставленным и отбрасывается.If the number of forwards, also known as hops, exceeds the value specified for the TTL, the packet is deemed undeliverable and is discarded.

Значение DontFragment, указанное в запросе проверки связи ICMP, управляет фрагментацией пакетов.The DontFragment value specified in the ICMP echo request controls packet fragmentation. Если DontFragment имеет true и размер пакета превышает максимальную единицу передачи сетевого пути, полученного пакетом, пакет отбрасывается и возвращается ошибка PacketTooBig.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.

Применяется к