Ping.Send Méthode

Définition

Essaie d’envoyer un message ICMP d’écho à un ordinateur distant et de recevoir un message ICMP de réponse à écho correspondant de l’ordinateur distant.

Surcharges

Send(String, TimeSpan, Byte[], PingOptions)

Tente d’envoyer un message d’écho ICMP (Internet Control Message Protocol) à l’ordinateur spécifié et de recevoir un message de réponse d’écho ICMP correspondant de cet ordinateur.

Send(String, Int32, Byte[], PingOptions)

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié avec le tampon de données spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai d’attente pour l’opération et de contrôler la fragmentation et les valeurs de durée de vie pour le paquet ICMP.

Send(IPAddress, TimeSpan, Byte[], PingOptions)

Tente d’envoyer un message d’écho ICMP (Internet Control Message Protocol) à l’ordinateur qui a le spécifié IPAddresset de recevoir un message de réponse d’écho ICMP correspondant de cet ordinateur.

Send(IPAddress, Int32, Byte[], PingOptions)

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai d’attente pour l’opération et de contrôler la fragmentation et les valeurs de durée de vie pour le paquet de message ICMP d’écho.

Send(String, Int32, Byte[])

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié avec le tampon de données spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai pour l’opération.

Send(IPAddress, Int32, Byte[])

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai pour l’opération.

Send(String, Int32)

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette méthode vous permet de spécifier une valeur de délai d’attente pour l’opération.

Send(IPAddress, Int32)

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette méthode vous permet de spécifier une valeur de délai d’attente pour l’opération.

Send(String)

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur.

Send(IPAddress)

Essaie d’envoyer un message ICMP d’écho à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur.

Remarques

L’adresse IP retournée par l’une Send des surcharges peut provenir d’un ordinateur distant malveillant. Ne vous connectez pas à l’ordinateur distant à l’aide de ceci. Utilisez DNS pour déterminer l’adresse IP de l’ordinateur auquel vous souhaitez vous connecter.

Send(String, TimeSpan, Byte[], PingOptions)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Tente d’envoyer un message d’écho ICMP (Internet Control Message Protocol) à l’ordinateur spécifié et de recevoir un message de réponse d’écho ICMP correspondant de cet ordinateur.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : string * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

Paramètres

hostNameOrAddress
String

String qui identifie l’ordinateur de destination pour le message ICMP d’écho. La valeur spécifiée pour ce paramètre peut être un nom d’hôte ou la représentation sous forme de chaîne d’une adresse IP.

timeout
TimeSpan

Valeur qui spécifie la durée maximale (après l’envoi du message d’écho) pour attendre le message de réponse d’écho ICMP.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

options
PingOptions

Objet PingOptions utilisé pour contrôler la fragmentation et les valeurs de la durée de vie (Time-to-Live) du paquet de messages ICMP d’écho.

Retours

Informations sur le message de réponse d’écho ICMP, si un message a été reçu, ou la raison de l’échec, si aucun message n’a été reçu.

Exceptions

buffer ou hostNameOrAddress est null ou hostNameOrAddress est une chaîne vide («  »).

timeout représente une durée inférieure à zéro millisecondes ou supérieure à MaxValue millisecondes.

La buffertaille de est supérieure à 65 500 octets.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

S’applique à

Send(String, Int32, Byte[], PingOptions)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié avec le tampon de données spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai d’attente pour l’opération et de contrôler la fragmentation et les valeurs de durée de vie pour le paquet ICMP.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : string * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

Paramètres

hostNameOrAddress
String

String qui identifie l’ordinateur de destination pour le message ICMP d’écho. La valeur spécifiée pour ce paramètre peut être un nom d’hôte ou la représentation sous forme de chaîne d’une adresse IP.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

options
PingOptions

Objet PingOptions utilisé pour contrôler la fragmentation et les valeurs de la durée de vie (Time-to-Live) du paquet de messages ICMP d’écho.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu.

Exceptions

La taille de buffer dépasse 65 500 octets.

hostNameOrAddress est null ou une chaîne de longueur nulle.

- ou -

buffer a la valeur null.

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

.NET 7 et versions ultérieures uniquement sur Linux : le processus n’est pas privilégié et buffer n’est pas vide.

Exemples

L’exemple de code suivant montre comment appeler cette méthode.

void ComplexPing()
{
   Ping ^ pingSender = gcnew Ping;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   
   // Set options for transmission:
   // The data can go through 64 gateways or routers
   // before it is destroyed, and the data packet
   // cannot be fragmented.
   PingOptions ^ options = gcnew PingOptions( 64,true );
   
   // Send the request.
   PingReply ^ reply = pingSender->Send( "www.contoso.com", 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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}
public static void ComplexPing ()
{
    Ping pingSender = new Ping ();

    // Create a buffer of 32 bytes of data to be transmitted.
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    byte[] buffer = Encoding.ASCII.GetBytes (data);

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // Set options for transmission:
    // The data can go through 64 gateways or routers
    // before it is destroyed, and the data packet
    // cannot be fragmented.
    PingOptions options = new PingOptions (64, true);

    // Send the request.
    PingReply reply = pingSender.Send ("www.contoso.com", 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié par le timeout paramètre, l’écho ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lors de la spécification de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Si la DontFragment propriété est true et que la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig.

Utilisez la Ttl propriété pour spécifier le nombre maximal de fois où le message d’écho ICMP peut être transféré avant d’atteindre sa destination. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre spécifié de fois, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(IPAddress, TimeSpan, Byte[], PingOptions)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Tente d’envoyer un message d’écho ICMP (Internet Control Message Protocol) à l’ordinateur qui a le spécifié IPAddresset de recevoir un message de réponse d’écho ICMP correspondant de cet ordinateur.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : System.Net.IPAddress * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

Paramètres

address
IPAddress

IPAddress qui identifie l’ordinateur de destination pour le message ICMP d’écho.

timeout
TimeSpan

Valeur qui spécifie la durée maximale (après l’envoi du message d’écho) pour attendre le message de réponse d’écho ICMP.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

options
PingOptions

Objet PingOptions utilisé pour contrôler la fragmentation et les valeurs de la durée de vie (Time-to-Live) du paquet de messages ICMP d’écho.

Retours

Informations sur le message de réponse d’écho ICMP, si un message a été reçu, ou la raison de l’échec, si aucun message n’a été reçu.

Exceptions

address ou buffer est null.

timeout représente une durée inférieure à zéro millisecondes ou supérieure à MaxValue millisecondes.

La buffertaille de est supérieure à 65 500 octets.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

S’applique à

Send(IPAddress, Int32, Byte[], PingOptions)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai d’attente pour l’opération et de contrôler la fragmentation et les valeurs de durée de vie pour le paquet de message ICMP d’écho.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

Paramètres

address
IPAddress

IPAddress qui identifie l’ordinateur de destination pour le message ICMP d’écho.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

options
PingOptions

Objet PingOptions utilisé pour contrôler la fragmentation et les valeurs de la durée de vie (Time-to-Live) du paquet de messages ICMP d’écho.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu. La méthode retourne PacketTooBig si le paquet dépasse l’unité de transmission maximale (MTU).

Exceptions

La taille de buffer dépasse 65 500 octets.

address ou buffer est null.

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

.NET 7 et versions ultérieures uniquement sur Linux : le processus n’est pas privilégié et buffer n’est pas vide.

Exemples

L’exemple de code suivant montre comment appeler cette méthode.

void ComplexLocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   
   // Set options for transmission:
   // The data can go through 64 gateways or routers
   // before it is destroyed, and the data packet
   // cannot be fragmented.
   PingOptions ^ options = gcnew PingOptions( 64,true );
   PingReply ^ reply = pingSender->Send( address, 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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}
public static void ComplexLocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

    // Create a buffer of 32 bytes of data to be transmitted.
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    byte[] buffer = Encoding.ASCII.GetBytes (data);

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // Set options for transmission:
    // The data can go through 64 gateways or routers
    // before it is destroyed, and the data packet
    // cannot be fragmented.
    PingOptions options = new PingOptions (64, true);
    PingReply reply = pingSender.Send (address, 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié par le paramètre, l’écho timeout ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lorsque vous spécifiez de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Si la DontFragment propriété est true et que la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig.

Utilisez la Ttl propriété pour spécifier le nombre maximal de fois où le message d’écho ICMP peut être transféré avant d’atteindre sa destination. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(String, Int32, Byte[])

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié avec le tampon de données spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai pour l’opération.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout, byte[] buffer);
member this.Send : string * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte()) As PingReply

Paramètres

hostNameOrAddress
String

String qui identifie l’ordinateur de destination pour le message ICMP d’écho. La valeur spécifiée pour ce paramètre peut être un nom d’hôte ou la représentation sous forme de chaîne d’une adresse IP.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu.

Exceptions

La taille de buffer dépasse 65 500 octets.

hostNameOrAddress a la valeur null ou est une chaîne vide ("").

-ou-

buffer a la valeur null.

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

.NET 7 et versions ultérieures uniquement sur Linux : le processus n’est pas privilégié et buffer n’est pas vide.

Exemples

Pour obtenir un exemple qui montre comment appeler une Send surcharge, consultez la vue d’ensemble de la Ping classe.

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié dans le paramètre, l’écho timeout ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lorsque vous spécifiez de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig.

Les fragments de paquets peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(IPAddress, Int32, Byte[])

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette surcharge vous permet de spécifier une valeur de délai pour l’opération.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout, byte[] buffer);
member this.Send : System.Net.IPAddress * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte()) As PingReply

Paramètres

address
IPAddress

IPAddress qui identifie l’ordinateur de destination pour le message ICMP d’écho.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

buffer
Byte[]

Tableau Byte qui contient les données à envoyer avec le message ICMP d’écho et à retourner dans le message ICMP de réponse à écho. Le tableau ne peut pas contenir plus de 65 500 octets.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu. La méthode retourne PacketTooBig si le paquet dépasse l’unité de transmission maximale (MTU).

Exceptions

La taille de buffer dépasse 65 500 octets.

address ou buffer est null.

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

.NET 7 et versions ultérieures uniquement sur Linux : le processus n’est pas privilégié et buffer n’est pas vide.

Exemples

L’exemple de code suivant montre comment appeler cette méthode.

void LocalPingTimeout()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   PingReply ^ reply = pingSender->Send( address, timeout, buffer);
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}
public static void LocalPingTimeout ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

    // Create a buffer of 32 bytes of data to be transmitted.
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    byte[] buffer = Encoding.ASCII.GetBytes (data);

    // Wait 10 seconds for a reply.
    int timeout = 10000;
    PingReply reply = pingSender.Send (address, timeout, buffer);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié dans le paramètre, l’écho timeout ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lorsque vous spécifiez de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig.

Les fragments de paquets peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(String, Int32)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette méthode vous permet de spécifier une valeur de délai d’attente pour l’opération.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout);
member this.Send : string * int -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer) As PingReply

Paramètres

hostNameOrAddress
String

String qui identifie l’ordinateur de destination pour le message ICMP d’écho. La valeur spécifiée pour ce paramètre peut être un nom d’hôte ou la représentation sous forme de chaîne d’une adresse IP.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu.

Exceptions

hostNameOrAddress a la valeur null ou est une chaîne vide ("").

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

Exemples

Pour obtenir un exemple illustrant l’appel d’une Send méthode, consultez la vue d’ensemble de la Ping classe.

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié dans le paramètre, l’écho timeout ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lorsque vous spécifiez de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig. Les fragments de paquets (s’ils sont fragmentés) peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(IPAddress, Int32)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho avec le tampon de données spécifié à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur. Cette méthode vous permet de spécifier une valeur de délai d’attente pour l’opération.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout);
member this.Send : System.Net.IPAddress * int -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer) As PingReply

Paramètres

address
IPAddress

IPAddress qui identifie l’ordinateur de destination pour le message ICMP d’écho.

timeout
Int32

Valeur Int32 qui spécifie le nombre maximal de millisecondes (après envoi du message d’écho) d’attente du message ICMP de réponse à écho.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu.

Exceptions

address a la valeur null.

timeout est inférieur à zéro.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

Exemples

Pour obtenir un exemple illustrant l’appel d’une Send méthode, consultez la vue d’ensemble de la Ping classe.

Remarques

Si le message de réponse d’écho ICMP n’est pas reçu dans le délai spécifié dans le paramètre, l’écho timeout ICMP échoue et la Status propriété est définie sur TimedOut.

Notes

Lorsque vous spécifiez de très petits nombres pour timeout, la réponse Ping peut être reçue même si timeout des millisecondes se sont écoulées.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig.

Les fragments de paquets peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(String)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho à l’ordinateur spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress);
member this.Send : string -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String) As PingReply

Paramètres

hostNameOrAddress
String

String qui identifie l’ordinateur de destination pour le message ICMP d’écho. La valeur spécifiée pour ce paramètre peut être un nom d’hôte ou la représentation sous forme de chaîne d’une adresse IP.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou fournit la raison de l’échec si aucun message n’a été reçu.

Exceptions

hostNameOrAddress a la valeur null ou est une chaîne vide ("").

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

Exemples

L’exemple de code suivant illustre l’appel de cette méthode.

void SimplePing()
{
   Ping ^ pingSender = gcnew Ping;
   PingReply ^ reply = pingSender->Send( "www.contoso.com" );
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}
public static void SimplePing ()
{
    Ping pingSender = new Ping ();
    PingReply reply = pingSender.Send ("www.contoso.com");

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Remarques

Cette méthode envoie une mémoire tampon de 32 Byte données avec le message d’écho ICMP. La méthode attend cinq secondes pour un message de réponse d’écho ICMP. Si elle ne reçoit pas de réponse dans ce délai, la méthode retourne et la Status propriété est définie sur TimedOut.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig. Les fragments de paquets (s’ils sont fragmentés) peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à

Send(IPAddress)

Source:
Ping.cs
Source:
Ping.cs
Source:
Ping.cs

Essaie d’envoyer un message ICMP d’écho à l’ordinateur qui a le IPAddress spécifié et de recevoir un message ICMP de réponse à écho correspondant de cet ordinateur.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address);
member this.Send : System.Net.IPAddress -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress) As PingReply

Paramètres

address
IPAddress

IPAddress qui identifie l’ordinateur de destination pour le message ICMP d’écho.

Retours

Objet PingReply qui fournit des informations à propos du message ICMP de réponse à écho (le cas échéant) ou décrit la raison de l’échec si aucun message n’a été reçu.

Exceptions

address a la valeur null.

Un appel à SendAsync est en cours.

Une exception a été levée lors de l’envoi ou de la réception des messages ICMP. Consultez l’exception interne de l’exception exacte qui a été levée.

Cet objet a été supprimé.

Exemples

L’exemple de code suivant illustre l’appel de cette méthode.

void LocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   PingReply ^ reply = pingSender->Send( address );
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}
public static void LocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;
    PingReply reply = pingSender.Send (address);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Remarques

Cette méthode envoie à l’hôte spécifié par address une mémoire tampon de 32 Byte données avec le message d’écho ICMP. La méthode attend cinq secondes pour un message de réponse d’écho ICMP. Si elle ne reçoit pas de réponse dans ce délai, la méthode retourne et la Status propriété est définie sur TimedOut.

Cette surcharge utilise les paramètres par défaut pour la fragmentation des paquets et le transfert de paquets. Le paquet qui contient le message d’écho ICMP peut être fragmenté en transit si la taille totale du paquet dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants. Pour éviter la fragmentation, utilisez l’une Send des méthodes qui prend un options paramètre et définissez la propriété sur DontFragmenttrue. Lorsque DontFragment est true et que la taille totale des paquets dépasse la taille maximale des paquets qui peut être transmise par l’un des nœuds de routage entre les ordinateurs locaux et distants, la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur PacketTooBig. Les fragments de paquets (s’ils sont fragmentés) peuvent être transférés en acheminant les nœuds 128 fois avant d’être ignorés. Pour modifier ce paramètre, utilisez une Send surcharge qui prend un options paramètre et définissez la Ttl propriété sur la valeur souhaitée. Si le paquet n’atteint pas sa destination après avoir été transféré le nombre de fois spécifié, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.

S’applique à