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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to a remote computer and receive a corresponding ICMP echo reply message from the remote computer.

Überlädt

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 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.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. 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.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This overload allows you to specify a time-out value for the operation.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This overload allows you to specify a time-out value for the operation.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This method allows you to specify a time-out value for the operation.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This method allows you to specify a time-out value for the operation.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

Hinweise

Die von den Send Überladungen zurückgegebene IP-Adresse kann von einem bösartigen Remote Computer stammen.The IP address returned by any of the Send overloads can originate from a malicious remote computer. Stellen Sie keine Verbindung mit dem Remote Computer her.Do not connect to the remote computer using this. Verwenden Sie DNS, um die IP-Adresse des Computers zu ermitteln, mit dem Sie eine Verbindung herstellen möchten.Use DNS to determine the IP address of the machine to which you want to connect.

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. 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.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

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);
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.A String that identifies the computer that is the destination for the ICMP echo message. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.The value specified for this parameter can be a host name or a string representation of an IP address.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. Das Array kann höchstens 65.500 Bytes enthalten.The array cannot contain more than 65,500 bytes.

options
PingOptions

Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

Ausnahmen

Die Größe des buffer übersteigt 65.500 Bytes.The size of buffer exceeds 65500 bytes.

hostNameOrAddress ist null oder ist eine Zeichenfolge der Länge 0 (null).hostNameOrAddress is null or is a zero-length string.

- oder --or- buffer ist null, oder die buffer-Größe übersteigt 65500 Bytes.buffer is null, or the buffer size is greater than 65500 bytes.

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.The following code example demonstrates how to call this method.

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-Echo Antwortnachricht nicht innerhalb der durch den timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Wenn die DontFragment-Eigenschaft true ist und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig.

Verwenden Sie die Ttl-Eigenschaft, um anzugeben, wie oft die ICMP-Echo Meldung vor dem Erreichen des Ziels maximal weitergeleitet werden kann.Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. 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.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

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);
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.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. Das Array kann höchstens 65.500 Bytes enthalten.The array cannot contain more than 65,500 bytes.

options
PingOptions

Ein PingOptions-Objekt, das verwendet wird, um die Werte für Fragmentierung und Gültigkeitsdauer des ICMP-Echomeldungspakets zu steuern.A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received. Die Methode gibt PacketTooBig zurück, wenn das Paket die Größe der maximalen Übertragungseinheit überschreitet.The method will return PacketTooBig if the packet exceeds the Maximum Transmission Unit (MTU).

Ausnahmen

Die Größe des buffer übersteigt 65.500 Bytes.The size of buffer exceeds 65500 bytes.

address ist null.address is null.

- oder --or- buffer ist null, oder die buffer-Größe übersteigt 65500 Bytes.buffer is null, or the buffer size is greater than 65500 bytes.

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.The following code example demonstrates how to call this method.

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-Echo Antwortnachricht nicht innerhalb der durch den timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Wenn die DontFragment-Eigenschaft true ist und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig.

Verwenden Sie die Ttl-Eigenschaft, um anzugeben, wie oft die ICMP-Echo Meldung vor dem Erreichen des Ziels maximal weitergeleitet werden kann.Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This overload allows you to specify a time-out value for the operation.

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.A String that identifies the computer that is the destination for the ICMP echo message. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.The value specified for this parameter can be a host name or a string representation of an IP address.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. Das Array kann höchstens 65.500 Bytes enthalten.The array cannot contain more than 65,500 bytes.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

Ausnahmen

Die Größe des buffer übersteigt 65.500 Bytes.The size of buffer exceeds 65500 bytes.

hostNameOrAddress ist null oder eine leere Zeichenfolge ("").hostNameOrAddress is null or is an empty string ("").

- oder --or- buffer ist null, oder die buffer-Größe übersteigt 65500 Bytes.buffer is null, or the buffer size is greater than 65500 bytes.

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Ein Beispiel für das Aufrufen einer Send Überladung finden Sie in der Übersicht über die Ping-Klasse.For an example that demonstrates how to call a Send overload, see the Ping class overview.

Hinweise

Wenn die ICMP-Echo Antwortnachricht nicht innerhalb der im timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig.

Die Paket-oder Paket Fragmente können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Diese Überladung ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This overload allows you to specify a time-out value for the operation.

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.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Ein Byte-Array, das Daten enthält, die mit der ICMP-Echomeldung gesendet und in der ICMP-Echoantwortmeldung zurückgegeben werden sollen.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. Das Array kann höchstens 65.500 Bytes enthalten.The array cannot contain more than 65,500 bytes.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received. Die Methode gibt PacketTooBig zurück, wenn das Paket die Größe der maximalen Übertragungseinheit überschreitet.The method will return PacketTooBig if the packet exceeds the Maximum Transmission Unit (MTU).

Ausnahmen

Die Größe des buffer übersteigt 65.500 Bytes.The size of buffer exceeds 65500 bytes.

address ist null.address is null.

- oder --or- buffer ist null, oder die buffer-Größe übersteigt 65500 Bytes.buffer is null, or the buffer size is greater than 65500 bytes.

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie diese Methode aufgerufen wird.The following code example demonstrates how to call this method.

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-Echo Antwortnachricht nicht innerhalb der im timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig.

Die Paket-oder Paket Fragmente können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This method allows you to specify a time-out value for the operation.

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.A String that identifies the computer that is the destination for the ICMP echo message. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.The value specified for this parameter can be a host name or a string representation of an IP address.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

Ausnahmen

hostNameOrAddress ist null oder eine leere Zeichenfolge ("").hostNameOrAddress is null or is an empty string ("").

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Ein Beispiel für das Aufrufen einer Send-Methode finden Sie in der Übersicht über die Ping-Klasse.For an example that demonstrates calling a Send method, see the Ping class overview.

Hinweise

Wenn die ICMP-Echo Antwortnachricht nicht innerhalb der im timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig. Die Paket-oder Paket Fragmente (falls fragmentiert) können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Diese Methode ermöglicht es Ihnen, einen Timeoutwert für den Vorgang anzugeben.This method allows you to specify a time-out value for the operation.

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.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

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.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

Ausnahmen

address ist null.address is null.

timeout ist kleiner als Null.timeout is less than zero.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Ein Beispiel für das Aufrufen einer Send-Methode finden Sie in der Übersicht über die Ping-Klasse.For an example that demonstrates calling a Send method, see the Ping class overview.

Hinweise

Wenn die ICMP-Echo Antwortnachricht nicht innerhalb der im timeout-Parameter angegebenen Zeit empfangen wird, schlägt das ICMP-Echo fehl, und die Status-Eigenschaft wird auf TimedOutfestgelegt.If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Hinweis

Wenn Sie für timeoutsehr kleine Zahlen angeben, kann die Ping-Antwort empfangen werden, auch wenn timeout Millisekunden abgelaufen sind.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig.

Die Paket-oder Paket Fragmente können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

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.A String that identifies the computer that is the destination for the ICMP echo message. Der für diesen Parameter angegebene Wert kann eine Hostname oder eine Zeichenfolgenentsprechung einer IP-Adresse sein.The value specified for this parameter can be a host name or a string representation of an IP address.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache angibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received.

Ausnahmen

hostNameOrAddress ist null oder eine leere Zeichenfolge ("").hostNameOrAddress is null or is an empty string ("").

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Im folgenden Codebeispiel wird das Aufrufen dieser Methode veranschaulicht.The following code example demonstrates calling this method.

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-Byte Datenpuffer mit der ICMP-Echo Meldung.This method sends a 32 Byte data buffer with the ICMP echo message. Die-Methode wartet fünf Sekunden auf eine ICMP-Echo Antwortnachricht.The method waits five seconds for an ICMP echo reply message. Wenn in diesem Zeitraum keine Antwort empfangen wird, gibt die Methode zurück, und die Status-Eigenschaft ist auf TimedOutfestgelegt.If it does not receive a reply in that time, the method returns and the Status property is set to TimedOut.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig. Die Paket-oder Paket Fragmente (falls fragmentiert) können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

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.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

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.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

Gibt zurück

Ein PingReply-Objekt, das ggf. Informationen über die ICMP-Echoantwortmeldung bereitstellt, oder das die Fehlerursache beschreibt, falls keine Meldung empfangen wurde.A PingReply object that provides information about the ICMP echo reply message, if one was received, or describes the reason for the failure if no message was received.

Ausnahmen

address ist null.address is null.

Ein Aufruf von SendAsync wird gerade ausgeführt.A call to SendAsync is in progress.

address ist eine IPv6-Adresse, und auf dem lokalen Computer wird ein älteres Betriebssystem als Windows 2000 ausgeführt.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

Beim Senden oder Empfangen der ICMP-Meldungen wurde eine Ausnahme ausgelöst.An exception was thrown while sending or receiving the ICMP messages. Welche Ausnahme genau ausgelöst wurde, entnehmen Sie der internen Ausnahme.See the inner exception for the exact exception that was thrown.

Dieses Objekt wurde verworfen.This object has been disposed.

Beispiele

Im folgenden Codebeispiel wird das Aufrufen dieser Methode veranschaulicht.The following code example demonstrates calling this method.

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 durch address eines 32 Byte-Daten Puffers mit der ICMP-Echo Meldung angegeben wird.This method sends to the host that is specified by address a 32 Byte data buffer with the ICMP echo message. Die-Methode wartet fünf Sekunden auf eine ICMP-Echo Antwortnachricht.The method waits five seconds for an ICMP echo reply message. Wenn in diesem Zeitraum keine Antwort empfangen wird, gibt die Methode zurück, und die Status-Eigenschaft ist auf TimedOutfestgelegt.If it does not receive a reply in that time, the method returns and the Status property is set to TimedOut.

Diese Überladung verwendet die Standardeinstellungen für die Paket Fragmentierung und die Paket Weiterleitung.This overload uses default settings for packet fragmentation and packet forwarding. Das Paket, das die ICMP-Echo Meldung enthält, kann während der Übertragung fragmentiert werden, wenn die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Um die Fragmentierung zu verhindern, verwenden Sie eine der Send Methoden, die einen options-Parameter annimmt, und legen Sie die Eigenschaft DontFragment auf truefest.To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. Wenn DontFragment true und die Gesamtpaket Größe die maximale Paketgröße überschreitet, die von einem der Routing Knoten zwischen dem lokalen Computer und dem Remote Computer übertragen werden kann, schlägt die ICMP-Echo Anforderung fehl.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. In diesem Fall wird der Status auf PacketTooBigfestgelegt.When this happens, the Status is set to PacketTooBig. Die Paket-oder Paket Fragmente (falls fragmentiert) können durch Routing Knoten 128-Mal weitergeleitet werden, bevor Sie verworfen werden.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Um diese Einstellung zu ändern, verwenden Sie eine Send Überladung, die einen options-Parameter annimmt, und legen Sie die Eigenschaft Ttl auf den gewünschten Wert fest.To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. Wenn das Paket nach der angegebenen Anzahl von Wiederholungen nicht das Ziel erreicht, wird das Paket verworfen, und die ICMP-Echo Anfrage schlägt fehl.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. In diesem Fall wird der Status auf TtlExpiredfestgelegt.When this happens, the Status is set to TtlExpired.

Sicherheit

NetworkInformationPermission
Zum Senden einer ICMP-Echo Meldung.To send an ICMP echo message. Zugehörige Enumeration: PingAssociated enumeration: Ping

Gilt für: