PingOptions Klasa

Definicja

Służy do kontrolowania sposobu Ping przesyłania pakietów danych.Used to control how Ping data packets are transmitted.

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

Przykłady

Poniższy przykład kodu używa Ping PingOptions klas i, PingReply Aby wysłać żądanie echa ICMP do hosta określonego w wierszu polecenia.The following code example uses the Ping, PingOptions and PingReply classes to send an ICMP echo request to the host specified on the command line.

#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);
            }
        }
    }
}

Uwagi

PingOptionsKlasa zawiera Ttl właściwości i, DontFragment które służą do sterowania sposobem przesyłania pakietów żądań echa protokołu ICMP (Internet Control Message Protocol).The PingOptions class provides the Ttl and DontFragment properties to control how Internet Control Message Protocol (ICMP) echo request packets are transmitted.

TtlWłaściwość określa czas wygaśnięcia pakietów wysyłanych przez Ping klasę.The Ttl property specifies the Time to Live for packets sent by the Ping class. Ta wartość wskazuje liczbę węzłów routingu, które mogą przesłać dalej Ping pakiet, zanim zostanie on odrzucony.This value indicates the number of routing nodes that can forward a Ping packet before it is discarded. Ustawienie tej opcji jest przydatne, jeśli chcesz przetestować liczbę przesyłanych dalej, zwanych również przeskokami, aby wysłać pakiet z komputera źródłowego na komputer docelowy.Setting this option is useful if you want to test the number of forwards, also known as hops, are required to send a packet from a source computer to a destination computer.

DontFragmentWłaściwość określa, czy dane wysyłane do hosta zdalnego można podzielić na wiele pakietów.The DontFragment property controls whether data sent to a remote host can be divided into multiple packets. Ta opcja jest przydatna, jeśli chcesz przetestować maksymalną jednostkę transmisji (MTU) routerów i bram używanych do przesyłania pakietu.This option is useful if you want to test the maximum transmission unit (MTU) of the routers and gateways used to transmit the packet.

Wystąpienia PingOptions klasy są przekazane do Send SendAsync metod i, a PingReply Klasa zwraca wystąpienia PingOptions przez Options Właściwość.Instances of the PingOptions class are passed to the Send and SendAsync methods, and the PingReply class returns instances of PingOptions via the Options property.

Aby uzyskać listę początkowych wartości właściwości dla wystąpienia PingOptions , zobacz PingOptions Konstruktor.For a list of initial property values for an instance of PingOptions, see the PingOptions constructor.

Konstruktory

PingOptions()

Inicjuje nowe wystąpienie klasy PingOptions.Initializes a new instance of the PingOptions class.

PingOptions(Int32, Boolean)

Inicjuje nowe wystąpienie PingOptions klasy i ustawia wartość czasu wygaśnięcia i fragmentacji.Initializes a new instance of the PingOptions class and sets the Time to Live and fragmentation values.

Właściwości

DontFragment

Pobiera lub ustawia Boolean wartość, która kontroluje fragmentację danych wysyłanych do hosta zdalnego.Gets or sets a Boolean value that controls fragmentation of the data sent to the remote host.

Ttl

Pobiera lub ustawia liczbę węzłów routingu, które mogą przekazywać Ping dane przed odrzuceniem.Gets or sets the number of routing nodes that can forward the Ping data before it is discarded.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy