Share via


PingOptions Kelas

Definisi

Digunakan untuk mengontrol bagaimana Ping paket data ditransmisikan.

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

Contoh

Contoh kode berikut menggunakan Pingkelas , PingOptions dan PingReply untuk mengirim permintaan gema ICMP ke host yang ditentukan pada baris perintah.

#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

Keterangan

Kelas ini PingOptions menyediakan Ttl properti dan DontFragment untuk mengontrol bagaimana paket permintaan gema Internet Control Message Protocol (ICMP) ditransmisikan.

Properti Ttl menentukan Time to Live untuk paket yang dikirim oleh Ping kelas . Nilai ini menunjukkan jumlah simpul perutean yang dapat meneruskan Ping paket sebelum dibuang. Pengaturan opsi ini berguna jika Anda ingin menguji jumlah penerusan, juga dikenal sebagai hop, diperlukan untuk mengirim paket dari komputer sumber ke komputer tujuan.

Properti DontFragment mengontrol apakah data yang dikirim ke host jarak jauh dapat dibagi menjadi beberapa paket. Opsi ini berguna jika Anda ingin menguji unit transmisi maksimum (MTU) router dan gateway yang digunakan untuk mengirimkan paket.

Instans kelas diteruskan PingOptions ke Send metode dan SendAsync , dan PingReply kelas mengembalikan instans PingOptions melalui Options properti .

Untuk daftar nilai properti awal untuk instans PingOptions, lihat PingOptions konstruktor.

Konstruktor

PingOptions()

Menginisialisasi instans baru kelas PingOptions.

PingOptions(Int32, Boolean)

Menginisialisasi instans PingOptions baru kelas dan mengatur nilai Time to Live dan fragmentasi.

Properti

DontFragment

Mendapatkan atau menetapkan Boolean nilai yang mengontrol fragmentasi data yang dikirim ke host jarak jauh.

Ttl

Mendapatkan atau mengatur jumlah simpul perutean yang dapat meneruskan Ping data sebelum dibuang.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk