Ping.Send Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 à partir 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 à partir 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 la machine à laquelle 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 à partir 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, le cas échéant, 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 quelques millisecondes.
La buffer
taille 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 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(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 à partir 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
- 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, le cas échéant, 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 quelques millisecondes.
La buffer
taille 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
- 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
- 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 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, 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
- 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 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.
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 de paquet maximale 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 acceptent un options
paramètre et définissez la propriété sur DontFragmenttrue
. Quand DontFragment 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.
Le paquet ou les fragments de paquets peuvent être transférés par des nœuds de routage 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 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(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 de paquet maximale 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 acceptent un options
paramètre et définissez la propriété sur DontFragmenttrue
. Quand DontFragment 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. Le paquet ou les fragments de paquets (s’ils sont fragmentés) peuvent être transférés par routage des 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 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)
- 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
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 données de 32 Byte 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 de paquet maximale 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 acceptent un options
paramètre et définissez la propriété sur DontFragmenttrue
. Quand DontFragment 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. Le paquet ou les fragments de paquets (s’ils sont fragmentés) peuvent être transférés par routage des 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 spécifié de fois, le paquet est ignoré et la demande d’écho ICMP échoue. Dans ce cas, est Status défini sur TtlExpired.