Freigeben über


Ping.Send Methode

Definition

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 bufferGröß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 timeoutangeben, 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 bufferGröß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 timeoutangeben, 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 timeoutangeben, 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 timeoutangeben, 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 timeoutangeben, 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 timeoutangeben, 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.

Gilt für: