Partager via


PingReply Classe

Définition

Fournit des informations sur l’état et les données résultant d’une ou SendAsync d’une Send opération.

public ref class PingReply
public class PingReply
type PingReply = class
Public Class PingReply
Héritage
PingReply

Exemples

L’exemple de code suivant illustre l’utilisation Ping de la classe pour envoyer une demande d’écho ICMP de manière synchrone et afficher la réponse.

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

Remarques

La Ping classe tente d’envoyer une demande d’écho ICMP (Internet Control Message Protocol) à un ordinateur distant et reçoit des informations de l’ordinateur via un message de réponse d’écho ICMP. La Ping classe utilise des instances de la PingReply classe pour retourner des informations sur l’opération, telles que son état et le temps nécessaire pour envoyer la demande et recevoir la réponse.

Les Send méthodes retournent directement les instances de la PingReply classe. Les SendAsync méthodes retournent un PingReply paramètre dans le paramètre de PingCompletedEventArgs la PingCompletedEventHandler méthode. L’accès PingReply est accessible via la Reply propriété.

Si la valeur n’est Status pas Success, vous ne devez pas utiliser les valeurs retournées par le RoundtripTimeou OptionsBuffer les propriétés. La RoundtripTime propriété retourne zéro, la Buffer propriété retourne un tableau vide et la Options propriété retourne null.

Propriétés

Nom Description
Address

Obtient l’adresse de l’hôte qui envoie la réponse d’écho ICMP (Internet Control Message Protocol).

Buffer

Obtient la mémoire tampon des données reçues dans un message de réponse icMP (Internet Control Message Protocol).

Options

Obtient les options utilisées pour transmettre la réponse à une demande d’écho ICMP (Internet Control Message Protocol).

RoundtripTime

Obtient le nombre de millisecondes prises pour envoyer une demande d’écho ICMP (Internet Control Message Protocol) et recevoir le message de réponse d’écho ICMP correspondant.

Status

Obtient l’état d’une tentative d’envoi d’une demande d’écho ICMP (Internet Control Message Protocol) et reçoit le message de réponse d’écho ICMP correspondant.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à