PingReply.Options Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает параметры, используемые для передачи ответа на запрос проверки связи 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
Значение свойства
Объект PingOptions, содержащий срок жизни и директиву фрагментации, которые используются для передачи ответа, если свойство Status имеет значение Success; в противном случае — null
.
Примеры
В следующем примере кода синхронно отправляется эхо-запрос ICMP и отображаются значения, хранящиеся в объекте PingOptions , возвращаемом этим свойством.
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);
}
}
Комментарии
Срок жизни определяет количество переадресации пакета узлами при его перемещении между источником и назначением. Если число переадресов, также называемое прыжками, превышает значение, указанное для срока жизни, пакет считается недоступным и удаляется.
Значение DontFragment , указанное в эхо-запросе ICMP, управляет фрагментацией пакетов. Если DontFragment значение равно true
, а размер пакета превышает максимальную единицу передачи сетевого пути, занятого пакетом, пакет отбрасывается и PacketTooBig возвращается ошибка.