Sdílet prostřednictvím


PingReply Třída

Definice

Poskytuje informace o stavu a datech vyplývajících z Send operace.SendAsync

public ref class PingReply
public class PingReply
type PingReply = class
Public Class PingReply
Dědičnost
PingReply

Příklady

Následující příklad kódu ukazuje použití Ping třídy k odeslání žádosti o odezvu ICMP synchronně a zobrazení odpovědi.

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

Poznámky

Třída Ping se pokusí odeslat požadavek na odezvu protokolu ICMP (Internet Control Message Protocol) vzdálenému počítači a přijímat informace zpět z počítače prostřednictvím odpovědi na odezvu PROTOKOLU ICMP. Třída Ping používá instance PingReply třídy k vrácení informací o operaci, jako je její stav a doba potřebná k odeslání požadavku a přijetí odpovědi.

Metody Send vrací instance PingReply třídy přímo. Metody SendAsync vrací PingReply v parametru PingCompletedEventHandler metody PingCompletedEventArgs . Tato PingReply vlastnost je přístupná prostřednictvím Reply vlastnosti.

Pokud hodnota Status není , neměli byste použít hodnoty vrácené hodnotou nebo OptionsBuffer vlastnostmiRoundtripTimeSuccess. Vlastnost RoundtripTime vrátí nulu Buffer , vlastnost vrátí prázdné pole a Options vlastnost vrátí null.

Vlastnosti

Name Description
Address

Získá adresu hostitele, který odesílá odpověď protokolu ICMP (Internet Control Message Protocol).

Buffer

Získá vyrovnávací paměť dat přijatých v protokolu ICMP (Internet Control Message Protocol) odpověď na zprávu odpovědi.

Options

Získá možnosti použité k přenosu odpovědi na požadavek odezvy PROTOKOLU ICMP (Internet Control Message Protocol).

RoundtripTime

Získá počet milisekund přijatých k odeslání žádosti o odezvu protokolu ICMP (Internet Control Message Protocol) a obdrží odpovídající zprávu odpovědi odezvy ICMP.

Status

Získá stav pokusu o odeslání žádosti o odezvu protokolu ICMP (Internet Control Message Protocol) a obdrží odpovídající zprávu odezvy ICMP.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro