PingOptions Klasse

Definition

Wird verwendet, um das Übertragen von Ping-Datenpaketen zu steuern.

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

Beispiele

Im folgenden Codebeispiel werden die PingKlassen , und PingReply verwendet, PingOptions um eine ICMP-Echoanforderung an den in der Befehlszeile angegebenen Host zu senden.

#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 PingOptions -Klasse stellt die Ttl Eigenschaften und DontFragment bereit, um zu steuern, wie ICMP-Echoanforderungspakete (Internet Control Message Protocol) übertragen werden.

Die Ttl -Eigenschaft gibt die Gültigkeitsdauer für pakete an, die von der Ping -Klasse gesendet werden. Dieser Wert gibt die Anzahl der Routingknoten an, die ein Ping Paket weiterleiten können, bevor es verworfen wird. Das Festlegen dieser Option ist nützlich, wenn Sie die Anzahl der Weiterleitungen (auch hops genannt) testen möchten, die erforderlich sind, um ein Paket von einem Quellcomputer an einen Zielcomputer zu senden.

Die DontFragment -Eigenschaft steuert, ob daten, die an einen Remotehost gesendet werden, in mehrere Pakete aufgeteilt werden können. Diese Option ist nützlich, wenn Sie die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) der Router und Gateways testen möchten, die zum Übertragen des Pakets verwendet werden.

Instanzen der PingOptions -Klasse werden an die Send Methoden und SendAsync übergeben, und die PingReply -Klasse gibt Instanzen von PingOptions über die Options -Eigenschaft zurück.

Eine Liste der anfänglichen Eigenschaftswerte für eine instance von PingOptionsfinden Sie im PingOptions Konstruktor.

Konstruktoren

PingOptions()

Initialisiert eine neue Instanz der PingOptions-Klasse.

PingOptions(Int32, Boolean)

Initialisiert eine neue Instanz der PingOptions-Klasse und legt die Werte für Gültigkeitsdauer und Fragmentierung fest.

Eigenschaften

DontFragment

Ruft einen Boolean-Wert ab, der die Fragmentierung der an den Remotehost gesendeten Daten steuert, oder legt diesen fest.

Ttl

Ruft die Anzahl der zulässigen Weiterleitungen der Ping-Daten über Routingknoten ab, bis die Daten verworfen werden.

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: