PingReply Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class PingReply
public class PingReply
type PingReply = class
Public Class PingReply
- Наследование
-
PingReply
Примеры
В следующем примере кода показано использование Ping класса для синхронной отправки запроса эхо ICMP и отображения ответа.
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
namespace Examples.System.Net.NetworkInformation.PingTest
{
public class PingExample
{
// args[0] can be an IPaddress or host name.
public static void Main (string[] args)
{
Ping pingSender = new Ping ();
PingOptions options = new PingOptions ();
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
int timeout = 120;
PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
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);
}
}
}
}
open System.Net.NetworkInformation
open System.Text
// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
let pingSender = new Ping()
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
let options = PingOptions()
options.DontFragment <- true
// Create a buffer of 32 bytes of data to be transmitted.
let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
let buffer = Encoding.ASCII.GetBytes data
let timeout = 120
let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)
match reply.Status with
| IPStatus.Success ->
printfn "Address: %O" reply.Address
printfn "RoundTrip time: %d" reply.RoundtripTime
printfn "Time to live: %d" reply.Options.Ttl
printfn "Don't fragment: %b" reply.Options.DontFragment
printfn "Buffer size: %d" reply.Buffer.Length
0
| _ ->
eprintfn "Error sending ping: %O" reply
eprintfn "Error was: %O" reply.Status
1
Комментарии
Класс Ping пытается отправить запрос на эхо-сообщение icMP для удаленного компьютера и получить информацию обратно с компьютера с помощью сообщения ответа на эхо-сообщение ICMP. Класс Ping использует экземпляры PingReply класса для возврата сведений об операции, таких как его состояние и время отправки запроса и получение ответа.
Методы Send возвращают экземпляры PingReply класса напрямую. Методы SendAsync возвращаются PingReply в параметре PingCompletedEventHandler метода PingCompletedEventArgs . Доступ PingReply осуществляется через Reply свойство.
Если значение Status не Successимеет значения, не следует использовать значения, возвращаемые свойствами RoundtripTimeOptions или Buffer свойствами. Свойство RoundtripTime возвращает ноль, Buffer свойство возвращает пустой массив, а Options свойство возвращается null.
Свойства
| Имя | Описание |
|---|---|
| Address |
Получает адрес узла, отправляющего ответ на эхо-сообщение протокола УПРАВЛЕНИЯ Интернетом (ICMP). |
| Buffer |
Возвращает буфер данных, полученных в ответном сообщении протокола ICMP. |
| Options |
Возвращает параметры, используемые для передачи ответа в запрос на эхо-сообщение через Интернет (ICMP). |
| RoundtripTime |
Возвращает количество миллисекунд, принятых для отправки запроса на эхо-сообщение ICMP и получение соответствующего сообщения ответа на эхо-сообщение ICMP. |
| Status |
Получает состояние попытки отправить эхо-запрос протокола ICMP и получить соответствующее сообщение ответа на эхо-сообщение ICMP. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |