Ping.Send Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an einen Remotecomputer zu senden und eine entsprechende ICMP-Echoantwortmeldung vom Remotecomputer zu empfangen.
Überlädt
Send(String, TimeSpan, Byte[], PingOptions) |
Versucht, eine ICMP-Echonachricht (Internet Control Message Protocol) an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortnachricht von diesem Computer zu empfangen. |
Send(String, Int32, Byte[], PingOptions) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Mit dieser Überladung können Sie einen Timeoutwert für den Vorgang angeben und die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Pakets steuern. |
Send(IPAddress, TimeSpan, Byte[], PingOptions) |
Versucht, eine ICMP-Echonachricht (Internet Control Message Protocol) an den Computer mit dem angegebenen IPAddresszu senden und eine entsprechende ICMP-Echoantwortnachricht von diesem Computer zu empfangen. |
Send(IPAddress, Int32, Byte[], PingOptions) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an einen Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Mit dieser Überladung können Sie einen Timeoutwert für den Vorgang angeben und die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets steuern. |
Send(String, Int32, Byte[]) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben. |
Send(IPAddress, Int32, Byte[]) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben. |
Send(String, Int32) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben. |
Send(IPAddress, Int32) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben. |
Send(String) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. |
Send(IPAddress) |
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. |
Hinweise
Die von einer der Send Überladungen zurückgegebene IP-Adresse kann von einem böswilligen Remotecomputer stammen. Stellen Sie damit keine Verbindung mit dem Remotecomputer her. Verwenden Sie DNS, um die IP-Adresse des Computers zu ermitteln, mit dem Sie eine Verbindung herstellen möchten.
Send(String, TimeSpan, Byte[], PingOptions)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP-Echonachricht (Internet Control Message Protocol) an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortnachricht von diesem Computer zu empfangen.
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
Parameter
- hostNameOrAddress
- String
Ein String, der den Computer bezeichnet, der das Ziel für die ICMP-Echomeldung ist. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.
- timeout
- TimeSpan
Ein -Wert, der angibt, wie lange (nach dem Senden der Echonachricht) maximal auf die ICMP-Echoantwortnachricht gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
- options
- PingOptions
Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.
Gibt zurück
Informationen zur ICMP-Echoantwortnachricht, wenn eine empfangen wurde, oder der Grund für den Fehler, wenn keine Nachricht empfangen wurde.
Ausnahmen
buffer
oder hostNameOrAddress
ist null
oder hostNameOrAddress
ist eine leere Zeichenfolge ("").
timeout
stellt eine Zeit dar, die kleiner als null Millisekunden oder größer als MaxValue Millisekunden ist.
Die buffer
Größe des ist größer als 65.500 Bytes.
Ein Aufruf von SendAsync wird ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Gilt für:
Send(String, Int32, Byte[], PingOptions)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Mit dieser Überladung können Sie einen Timeoutwert für den Vorgang angeben und die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Pakets steuern.
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
Parameter
- hostNameOrAddress
- String
Ein String, der den Computer bezeichnet, der das Ziel für die ICMP-Echomeldung ist. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
- options
- PingOptions
Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.
Ausnahmen
Die Größe des buffer
übersteigt 65.500 Bytes.
hostNameOrAddress
ist null
oder ist eine Zeichenfolge der Länge 0 (null).
- oder -
buffer
ist null
.
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
.NET 7 und höhere Versionen nur unter Linux: Der Prozess ist nicht privilegiert und buffer
nicht leer.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.
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);
}
}
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der vom timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Pingantwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Wenn die DontFragment -Eigenschaft ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen dem lokalen computer und dem Remotecomputer übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. In diesem Fall wird auf Status festgelegt PacketTooBig.
Verwenden Sie die Ttl -Eigenschaft, um anzugeben, wie oft die ICMP-Echonachricht maximal weitergeleitet werden kann, bevor sie ihr Ziel erreicht. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. In diesem Fall wird auf Status festgelegt TtlExpired.
Gilt für:
Send(IPAddress, TimeSpan, Byte[], PingOptions)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP-Echonachricht (Internet Control Message Protocol) an den Computer mit dem angegebenen IPAddresszu senden und eine entsprechende ICMP-Echoantwortnachricht von diesem Computer zu empfangen.
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
Parameter
- address
- IPAddress
Eine IPAddress, die den Computer bezeichnet, der das Ziel der ICMP-Echomeldung ist.
- timeout
- TimeSpan
Ein -Wert, der angibt, wie lange (nach dem Senden der Echonachricht) maximal auf die ICMP-Echoantwortnachricht gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
- options
- PingOptions
Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.
Gibt zurück
Informationen zur ICMP-Echoantwortnachricht, wenn eine empfangen wurde, oder der Grund für den Fehler, wenn keine Nachricht empfangen wurde.
Ausnahmen
address
oder buffer
ist null
.
timeout
stellt eine Zeit dar, die kleiner als null Millisekunden oder größer als MaxValue Millisekunden ist.
Die buffer
Größe des ist größer als 65.500 Bytes.
Ein Aufruf von SendAsync wird ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Gilt für:
Send(IPAddress, Int32, Byte[], PingOptions)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an einen Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Mit dieser Überladung können Sie einen Timeoutwert für den Vorgang angeben und die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets steuern.
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
Parameter
- address
- IPAddress
Eine IPAddress, die den Computer bezeichnet, der das Ziel der ICMP-Echomeldung ist.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
- options
- PingOptions
Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde. Die Methode gibt PacketTooBig zurück, wenn das Paket die Größe der maximalen Übertragungseinheit überschreitet.
Ausnahmen
Die Größe des buffer
übersteigt 65.500 Bytes.
address
oder buffer
ist null
.
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
.NET 7 und höhere Versionen nur unter Linux: Der Prozess ist nicht privilegiert und buffer
nicht leer.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.
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);
}
}
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der vom timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Pingantwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Wenn die DontFragment -Eigenschaft ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen dem lokalen computer und dem Remotecomputer übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. In diesem Fall wird auf Status festgelegt PacketTooBig.
Verwenden Sie die Ttl -Eigenschaft, um anzugeben, wie oft die ICMP-Echonachricht maximal weitergeleitet werden kann, bevor sie ihr Ziel erreicht. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. In diesem Fall wird auf Status festgelegt TtlExpired.
Gilt für:
Send(String, Int32, Byte[])
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.
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
Parameter
- hostNameOrAddress
- String
Ein String, der den Computer bezeichnet, der das Ziel für die ICMP-Echomeldung ist. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.
Ausnahmen
Die Größe des buffer
übersteigt 65.500 Bytes.
hostNameOrAddress
ist null
oder eine leere Zeichenfolge ("").
- oder -
buffer
ist null
.
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
.NET 7 und höhere Versionen nur unter Linux: Der Prozess ist nicht privilegiert und buffer
nicht leer.
Beispiele
Ein Beispiel, das das Aufrufen einer Send Überladung veranschaulicht, finden Sie in der Übersicht über die Ping Klasse.
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der im timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Pingantwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Diese Überladung verwendet Standardeinstellungen für die Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echonachricht enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. In diesem Fall wird auf Status festgelegt PacketTooBig.
Die Paket- oder Paketfragmente können von Routingknoten 128-mal weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl -Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. In diesem Fall wird auf Status festgelegt TtlExpired.
Gilt für:
Send(IPAddress, Int32, Byte[])
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.
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
Parameter
- address
- IPAddress
Eine IPAddress, die den Computer bezeichnet, der das Ziel der ICMP-Echomeldung ist.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
- buffer
- Byte[]
Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen. Das Array kann höchstens 65.500 Bytes enthalten.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde. Die Methode gibt PacketTooBig zurück, wenn das Paket die Größe der maximalen Übertragungseinheit überschreitet.
Ausnahmen
Die Größe des buffer
übersteigt 65.500 Bytes.
address
oder buffer
ist null
.
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
.NET 7 und höhere Versionen nur unter Linux: Der Prozess ist nicht privilegiert und buffer
nicht leer.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.
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);
}
}
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der im timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Pingantwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Diese Überladung verwendet Standardeinstellungen für die Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echonachricht enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. In diesem Fall wird auf Status festgelegt PacketTooBig.
Die Paket- oder Paketfragmente können von Routingknoten 128-mal weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl -Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. In diesem Fall wird auf Status festgelegt TtlExpired.
Gilt für:
Send(String, Int32)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.
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
Parameter
- hostNameOrAddress
- String
Ein String, der den Computer bezeichnet, der das Ziel für die ICMP-Echomeldung ist. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.
Ausnahmen
hostNameOrAddress
ist null
oder eine leere Zeichenfolge ("").
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Beispiele
Ein Beispiel, das das Aufrufen einer Send Methode veranschaulicht, finden Sie in der Übersicht über die Ping Klasse.
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der im timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Pingantwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Diese Überladung verwendet Standardeinstellungen für die Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echonachricht enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen und Remotecomputern übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. In diesem Fall wird auf Status festgelegt PacketTooBig. Die Paket- oder Paketfragmente (falls fragmentiert) können 128-mal von Routingknoten weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl -Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. Wenn dies geschieht, ist auf Status festgelegt TtlExpired.
Gilt für:
Send(IPAddress, Int32)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung mit dem angegebenen Datenpuffer an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.
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
Parameter
- address
- IPAddress
Eine IPAddress, die den Computer bezeichnet, der das Ziel der ICMP-Echomeldung ist.
- timeout
- Int32
Ein Int32-Wert, der die maximale Anzahl von Millisekunden angibt (nach dem Senden der Echomeldung), für die auf die ICMP-Echoantwortmeldung gewartet werden soll.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.
Ausnahmen
address
ist null
.
timeout
ist kleiner als Null.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Beispiele
Ein Beispiel, das das Aufrufen einer Send Methode veranschaulicht, finden Sie in der Ping Klassenübersicht.
Hinweise
Wenn die ICMP-Echoantwortnachricht nicht innerhalb der im timeout
Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status Eigenschaft ist auf TimedOutfestgelegt.
Hinweis
Wenn Sie sehr kleine Zahlen für timeout
angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout
Millisekunden abgelaufen sind.
Diese Überladung verwendet Standardeinstellungen für Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echomeldung enthält, kann bei der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen Und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen dem lokalen computer und dem Remotecomputer übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. Wenn dies geschieht, ist auf Status festgelegt PacketTooBig.
Die Paket- oder Paketfragmente können durch Routingknoten 128-mal weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. Wenn dies geschieht, ist auf Status festgelegt TtlExpired.
Gilt für:
Send(String)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den angegebenen Computer zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen.
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
Parameter
- hostNameOrAddress
- String
Ein String, der den Computer bezeichnet, der das Ziel für die ICMP-Echomeldung ist. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.
Ausnahmen
hostNameOrAddress
ist null
oder eine leere Zeichenfolge ("").
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Beispiele
Im folgenden Codebeispiel wird das Aufrufen dieser Methode veranschaulicht.
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);
}
}
Hinweise
Diese Methode sendet einen 32-Datenpuffer Byte mit der ICMP-Echomeldung. Die -Methode wartet fünf Sekunden auf eine ICMP-Echoantwortnachricht. Wenn sie zu diesem Zeitpunkt keine Antwort empfängt, gibt die -Methode zurück, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Diese Überladung verwendet Standardeinstellungen für Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echomeldung enthält, kann bei der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen Und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen dem lokalen computer und dem Remotecomputer übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. Wenn dies geschieht, ist auf Status festgelegt PacketTooBig. Das Paket oder die Paketfragmente (falls fragmentiert) können durch Routingknoten 128-mal weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. Wenn dies geschieht, ist auf Status festgelegt TtlExpired.
Gilt für:
Send(IPAddress)
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
- Quelle:
- Ping.cs
Versucht, eine ICMP (Internet Control Message Protocol)-Echomeldung an den Computer mit der angegebenen IPAddress zu senden und eine entsprechende ICMP-Echoantwortmeldung von diesem Computer zu empfangen.
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
Parameter
- address
- IPAddress
Eine IPAddress, die den Computer bezeichnet, der das Ziel der ICMP-Echomeldung ist.
Gibt zurück
Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache beschreibt, falls keine Meldung empfangen wurde.
Ausnahmen
address
ist null
.
Ein Aufruf von SendAsync wird gerade ausgeführt.
Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.
Dieses Objekt wurde verworfen.
Beispiele
Im folgenden Codebeispiel wird das Aufrufen dieser Methode veranschaulicht.
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);
}
}
Hinweise
Diese Methode sendet an den Host, der von address
einem 32-Datenpuffer Byte mit der ICMP-Echomeldung angegeben wird. Die -Methode wartet fünf Sekunden auf eine ICMP-Echoantwortnachricht. Wenn sie zu diesem Zeitpunkt keine Antwort empfängt, gibt die -Methode zurück, und die Status -Eigenschaft ist auf TimedOutfestgelegt.
Diese Überladung verwendet Standardeinstellungen für Paketfragmentierung und Paketweiterleitung. Das Paket, das die ICMP-Echomeldung enthält, kann bei der Übertragung fragmentiert werden, wenn die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen den lokalen Und Remotecomputern übertragen werden kann. Um die Fragmentierung zu verhindern, verwenden Sie eine der Methoden, die Send einen options
Parameter akzeptiert, und legen Sie die DontFragment -Eigenschaft auf fest true
. Wenn DontFragment ist true
und die Gesamtpaketgröße die maximale Paketgröße überschreitet, die von einem der Routingknoten zwischen dem lokalen computer und dem Remotecomputer übertragen werden kann, schlägt die ICMP-Echoanforderung fehl. Wenn dies geschieht, ist auf Status festgelegt PacketTooBig. Das Paket oder die Paketfragmente (falls fragmentiert) können durch Routingknoten 128-mal weitergeleitet werden, bevor sie verworfen werden. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options
Parameter akzeptiert, und legen Sie die Ttl Eigenschaft auf den gewünschten Wert fest. Wenn das Paket sein Ziel nach der angegebenen Anzahl von Weiterleitungen nicht erreicht, wird das Paket verworfen, und die ICMP-Echoanforderung schlägt fehl. Wenn dies geschieht, ist auf Status festgelegt TtlExpired.