Поделиться через


PingReply Класс

Определение

Предоставляет сведения о состоянии и данных, полученных от Send операции или SendAsync операции.

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)

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