Exporter (0) Imprimer
Développer tout

PingReply, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Net.NetworkInformation
Assembly : System (dans system.dll)

public class PingReply
public class PingReply
public class PingReply

La classe Ping essaie d'envoyer une demande d'écho ICMP (Internet Control Message Protocol) à un ordinateur distant et de recevoir des informations de l'ordinateur par le biais d'un message ICMP de réponse à écho. La classe Ping utilise des instances de la classe PingReply pour retourner des informations sur l'opération, telles que son état et la durée nécessaire à l'envoi de la demande et à la réception de la réponse.

Les méthodes Send retournent directement des instances de la classe PingReply. Les méthodes SendAsync retournent un PingReply dans le paramètre PingCompletedEventArgs de la méthode PingCompletedEventHandler. PingReply est accessible à l'aide de la propriété Reply.

Si la valeur de Status n'est pas Success, vous ne devez pas utiliser les valeurs retournées par les propriétés RoundTripTime, Options ou Buffer. La propriété RoundTripTime retournera zéro, la propriété Buffer retournera un tableau vide et la propriété Options retournera référence Null (Nothing en Visual Basic).

L'exemple de code suivant illustre l'utilisation de la classe Ping pour envoyer une demande d'écho ICMP de façon synchrone et pour 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);
            }
        }
    }
}

System.Object
  System.Net.NetworkInformation.PingReply

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft