PingReply Klasse

Definition

Stellt Informationen über den Status und die Daten bereit, die aus einem Send-Vorgang oder einem SendAsync-Vorgang resultieren.

public ref class PingReply
public class PingReply
type PingReply = class
Public Class PingReply
Vererbung
PingReply

Beispiele

Im folgenden Codebeispiel wird die Verwendung der Ping -Klasse veranschaulicht, um eine ICMP-Echoanforderung synchron zu senden und die Antwort anzuzeigen.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew PingOptions;
   
   // Use the default Ttl value which is 128,
   // but change the fragmentation behavior.
   options->DontFragment = true;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 1 ], 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 );
   }

   
}
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            Ping pingSender = new Ping ();
            PingOptions options = new PingOptions ();

            // Use the default Ttl value which is 128,
            // but change the fragmentation behavior.
            options.DontFragment = true;

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);
            int timeout = 120;
            PingReply reply = pingSender.Send (args[0], 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);
            }
        }
    }
}
open System.Net.NetworkInformation
open System.Text

// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
    let pingSender = new Ping()

    // Use the default Ttl value which is 128,
    // but change the fragmentation behavior.
    let options = PingOptions()
    options.DontFragment <- true

    // Create a buffer of 32 bytes of data to be transmitted.
    let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    let buffer = Encoding.ASCII.GetBytes data
    let timeout = 120
    let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)

    match reply.Status with
    | IPStatus.Success ->
        printfn "Address: %O" reply.Address
        printfn "RoundTrip time: %d" reply.RoundtripTime
        printfn "Time to live: %d" reply.Options.Ttl
        printfn "Don't fragment: %b" reply.Options.DontFragment
        printfn "Buffer size: %d" reply.Buffer.Length
        0
    | _ ->
        eprintfn "Error sending ping: %O" reply
        eprintfn "Error was: %O" reply.Status
        1

Hinweise

Die Ping Klasse versucht, eine ICMP-Echoanforderung (Internet Control Message Protocol) an einen Remotecomputer zu senden und Informationen vom Computer über eine ICMP-Echoantwortnachricht zurück zu empfangen. Die Ping -Klasse verwendet Instanzen der PingReply -Klasse, um Informationen über den Vorgang zurückzugeben, z. B. den Status und die Zeit, die zum Senden der Anforderung und zum Empfangen der Antwort dauert.

Die Send Methoden geben Instanzen der PingReply -Klasse direkt zurück. Die SendAsync Methoden geben einen PingReply im -Parameter der PingCompletedEventHandler -Methode PingCompletedEventArgs zurück. Auf PingReply wird über die Reply -Eigenschaft zugegriffen.

Wenn der Wert von Status nicht Successist, sollten Sie die von den RoundtripTimeEigenschaften oder OptionsBuffer zurückgegebenen Werte nicht verwenden. Die RoundtripTime -Eigenschaft gibt null zurück, die Buffer -Eigenschaft gibt ein leeres Array zurück, und die Options -Eigenschaft gibt zurück null.

Eigenschaften

Address

Ruft die Adresse des Hosts ab, der die ICMP (Internet Control Message Protocol)-Echoantwort sendet.

Buffer

Ruft den in einer ICMP (Internet Control Message Protocol)-Echoantwortmeldung empfangenen Datenpuffer ab.

Options

Ruft die Optionen zum Übertragen der Antwort auf eine ICMP (Internet Control Message Protocol)-Echoanfrage ab.

RoundtripTime

Ruft die Anzahl von Millisekunden ab, die zum Senden einer ICMP-Echoanfrage (Internet Control Message Protocol) und zum Empfangen der entsprechenden ICMP-Echoantwortmeldung benötigt wurden.

Status

Ruft den Status eines Versuchs ab, eine ICMP (Internet Control Message Protocol)-Echoanfrage zu senden und die entsprechende ICMP-Echoantwortmeldung zu empfangen.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: