Ping Kelas

Definisi

Memungkinkan aplikasi menentukan apakah komputer jarak jauh dapat diakses melalui jaringan.

public ref class Ping : System::ComponentModel::Component
public ref class Ping : IDisposable
public ref class Ping : System::ComponentModel::Component, IDisposable
public class Ping : System.ComponentModel.Component
public class Ping : IDisposable
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    inherit Component
type Ping = class
    interface IDisposable
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Inherits Component
Public Class Ping
Implements IDisposable
Public Class Ping
Inherits Component
Implements IDisposable
Warisan
Warisan
Ping
Penerapan

Contoh

Contoh kode berikut menunjukkan penggunaan Ping kelas secara sinkron.

#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

Contoh kode berikut menunjukkan menggunakan Ping kelas secara asinkron.

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::ComponentModel;
using namespace System::Threading;
void PingCompletedCallback( Object^ sender, PingCompletedEventArgs^ e );
void DisplayReply( PingReply^ reply );
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args->Length == 1 )
      throw gcnew ArgumentException( "Ping needs a host or IP Address." );

   String^ who = args[ 1 ];
   AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
   
   Ping ^ pingSender = gcnew Ping;
   
   // When the PingCompleted event is raised,
   // the PingCompletedCallback method is called.
   pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 12 seconds for a reply.
   int timeout = 12000;
   
   // 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 );
   Console::WriteLine( "Time to live: {0}", options->Ttl );
   Console::WriteLine( "Don't fragment: {0}", options->DontFragment );
   
   // Send the ping asynchronously.
   // Use the waiter as the user token.
   // When the callback completes, it can wake up this thread.
   pingSender->SendAsync( who, timeout, buffer, options, waiter );
   
   // Prevent this example application from ending.
   // A real application should do something useful
   // when possible.
   waiter->WaitOne();
   Console::WriteLine( "Ping example completed." );
}


void PingCompletedCallback( Object^ /*sender*/, PingCompletedEventArgs^ e )
{
   
   // If the operation was canceled, display a message to the user.
   if ( e->Cancelled )
   {
      Console::WriteLine( "Ping canceled." );
      
      // Let the main thread resume. 
      // UserToken is the AutoResetEvent object that the main thread 
      // is waiting for.
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   
   // If an error occurred, display the exception to the user.
   if ( e->Error != nullptr )
   {
      Console::WriteLine( "Ping failed:" );
      Console::WriteLine( e->Error->ToString() );
      
      // Let the main thread resume. 
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   PingReply ^ reply = e->Reply;
   DisplayReply( reply );
   
   // Let the main thread resume.
   (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}


void DisplayReply( PingReply ^ reply )
{
   if ( reply == nullptr )
      return;

   Console::WriteLine( "ping status: {0}", reply->Status );
   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.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.ComponentModel;
using System.Threading;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        public static void Main (string[] args)
        {
            if (args.Length == 0)
                throw new ArgumentException ("Ping needs a host or IP Address.");

            string who = args[0];
            AutoResetEvent waiter = new AutoResetEvent (false);

            Ping pingSender = new Ping ();

            // When the PingCompleted event is raised,
            // the PingCompletedCallback method is called.
            pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);

            // Wait 12 seconds for a reply.
            int timeout = 12000;

            // 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);

            Console.WriteLine ("Time to live: {0}", options.Ttl);
            Console.WriteLine ("Don't fragment: {0}", options.DontFragment);

            // Send the ping asynchronously.
            // Use the waiter as the user token.
            // When the callback completes, it can wake up this thread.
            pingSender.SendAsync(who, timeout, buffer, options, waiter);

            // Prevent this example application from ending.
            // A real application should do something useful
            // when possible.
            waiter.WaitOne ();
            Console.WriteLine ("Ping example completed.");
        }

        private static void PingCompletedCallback (object sender, PingCompletedEventArgs e)
        {
            // If the operation was canceled, display a message to the user.
            if (e.Cancelled)
            {
                Console.WriteLine ("Ping canceled.");

                // Let the main thread resume.
                // UserToken is the AutoResetEvent object that the main thread
                // is waiting for.
                ((AutoResetEvent)e.UserState).Set ();
            }

            // If an error occurred, display the exception to the user.
            if (e.Error != null)
            {
                Console.WriteLine ("Ping failed:");
                Console.WriteLine (e.Error.ToString ());

                // Let the main thread resume.
                ((AutoResetEvent)e.UserState).Set();
            }

            PingReply reply = e.Reply;

            DisplayReply (reply);

            // Let the main thread resume.
            ((AutoResetEvent)e.UserState).Set();
        }

        public static void DisplayReply (PingReply reply)
        {
            if (reply == null)
                return;

            Console.WriteLine ("ping status: {0}", reply.Status);
            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);
            }
        }
    }
}

Keterangan

Aplikasi menggunakan Ping kelas untuk mendeteksi apakah komputer jarak jauh dapat dijangkau.

Topologi jaringan dapat menentukan apakah Ping berhasil menghubungi host jarak jauh. Kehadiran dan konfigurasi proksi, peralatan terjemahan alamat jaringan (NAT), atau firewall dapat mencegah Ping keberhasilan. Yang berhasil Ping hanya menunjukkan bahwa host jarak jauh dapat dicapai di jaringan; keberadaan layanan tingkat yang lebih tinggi (seperti server Web) pada host jarak jauh tidak dijamin.

Kelas ini menyediakan fungsionalitas yang mirip dengan alat baris perintah Ping.exe. Metode Send dan SendAsync mengirim pesan permintaan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer jarak jauh dan menunggu pesan balasan gema ICMP dari komputer tersebut. Untuk deskripsi terperinci tentang pesan ICMP, lihat RFC 792, tersedia di https://www.ietf.org.

Jenis berikut digunakan dengan Ping kelas dan dijelaskan secara rinci di bawah ini.

Nama jenis Deskripsi
IPStatus Menentukan kode status yang menjelaskan hasil pesan permintaan gema ICMP.
PingOptions Memungkinkan Anda mengonfigurasi atau mengambil pengaturan yang mengontrol berapa kali paket permintaan dapat diteruskan (Ttl), dan apakah dapat difragmentasi (DontFragment ).
PingReply Berisi hasil permintaan gema ICMP.
PingException Dilemparkan jika terjadi kesalahan yang tidak dapat dipulihkan.
PingCompletedEventArgs Berisi data yang terkait dengan PingCompleted peristiwa, yang dinaikkan saat SendAsync panggilan selesai atau dibatalkan.
PingCompletedEventHandler Delegasi yang menyediakan metode panggilan balik yang dipanggil saat SendAsync panggilan selesai atau dibatalkan.

Metode Send dan SendAsync mengembalikan balasan dalam PingReply objek . Properti PingReply.Status mengembalikan IPStatus nilai untuk menunjukkan hasil permintaan.

Ketika mengirim permintaan, Anda harus menentukan komputer jarak jauh. Anda dapat melakukan ini dengan menyediakan string nama host, alamat IP dalam format string, atau IPAddress objek.

Anda juga dapat menentukan salah satu jenis informasi berikut:

  • Data untuk menyertai permintaan. Menentukan buffer memungkinkan Anda mempelajari jumlah waktu yang diperlukan untuk paket dengan ukuran tertentu untuk melakukan perjalanan ke dan dari host jarak jauh dan unit transmisi maksimum jalur jaringan. (Lihat Send atau SendAsync kelebihan beban yang mengambil buffer parameter.)

  • Apakah paket ICMP Echo dapat terfragmentasi saat transit. (Lihat DontFragment properti dan Send atau SendAsync kelebihan beban yang mengambil options parameter.)

  • Berapa kali simpul perutean, seperti router atau gateway, dapat meneruskan paket sebelum mencapai komputer tujuan atau dibuang. (Lihat Ttl dan Send atau SendAsync kelebihan beban yang mengambil options parameter.)

  • Batas waktu di mana balasan harus diterima. (Lihat Send atau SendAsync kelebihan beban yang mengambil timeout parameter.

Kelas ini Ping menawarkan metode sinkron dan asinkron untuk mengirim permintaan. Jika aplikasi Anda harus memblokir saat menunggu balasan, gunakan Send metode ; metode ini sinkron. Jika aplikasi Anda tidak boleh memblokir, gunakan metode asinkron SendAsync . Panggilan untuk SendAsync dijalankan dalam utasnya sendiri yang secara otomatis dialokasikan dari kumpulan utas. Ketika operasi asinkron selesai, operasi akan menaikkan PingCompleted peristiwa. Aplikasi menggunakan PingCompletedEventHandler delegasi untuk menentukan metode yang dipanggil untuk PingCompleted peristiwa. Anda harus menambahkan PingCompletedEventHandler delegasi ke acara sebelum memanggil SendAsync. Metode delegasi menerima PingCompletedEventArgs objek yang berisi PingReply objek yang menjelaskan hasil SendAsync panggilan.

Anda tidak dapat menggunakan instans Ping kelas yang sama untuk menghasilkan beberapa permintaan ICMP Echo simultan. Send Panggilan saat SendAsync panggilan sedang berlangsung atau panggilan SendAsync beberapa kali sebelum semua panggilan sebelumnya selesai menyebabkan InvalidOperationException.

Konstruktor

Ping()

Menginisialisasi instans baru kelas Ping.

Properti

CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)

Metode

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis sumber daya yang tidak dikelola dan membuang sumber daya terkelola yang digunakan oleh Ping.

Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh Ping objek , dan secara opsional membuang sumber daya terkelola.

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh Component dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

Memunculkan kejadian PingCompleted.

Send(IPAddress)

Mencoba mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

Send(IPAddress, Int32)

Upaya untuk mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Metode ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

Send(IPAddress, Int32, Byte[])

Upaya untuk mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

Send(IPAddress, Int32, Byte[], PingOptions)

Upaya untuk mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki pesan balasan gema ICMP yang ditentukan IPAddress dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.

Send(IPAddress, TimeSpan, Byte[], PingOptions)

Mencoba mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer yang memiliki IPAddress, dan untuk menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

Send(String)

Mencoba mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

Send(String, Int32)

Mencoba mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Metode ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

Send(String, Int32, Byte[])

Mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

Send(String, Int32, Byte[], PingOptions)

Mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket ICMP.

Send(String, TimeSpan, Byte[], PingOptions)

Mencoba mengirim pesan gema Protokol Pesan Kontrol Internet (ICMP) ke komputer yang ditentukan, dan untuk menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

SendAsync(IPAddress, Int32, Byte[], Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki , IPAddressdan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendAsync(IPAddress, Int32, Byte[], PingOptions, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki , IPAddressdan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.

SendAsync(IPAddress, Int32, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendAsync(IPAddress, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

SendAsync(String, Int32, Byte[], Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendAsync(String, Int32, Byte[], PingOptions, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan mengontrol fragmentasi dan nilai Time-to-Live untuk paket ICMP.

SendAsync(String, Int32, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendAsync(String, Object)

Secara asinkron mencoba mengirim pesan gema Internet Control Message Protocol (ICMP) ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut.

SendAsyncCancel()

Membatalkan semua permintaan asinkron yang tertunda untuk mengirim pesan gema Internet Control Message Protocol (ICMP) dan menerima pesan balasan echo ICMP yang sesuai.

SendPingAsync(IPAddress)

Kirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron.

SendPingAsync(IPAddress, Int32)

Kirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendPingAsync(IPAddress, Int32, Byte[])

Kirim pesan gema Protokol Pesan Kontrol Internet (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan buffer yang digunakan untuk mengirim dan menerima.

SendPingAsync(IPAddress, Int32, Byte[], PingOptions)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi, buffer yang digunakan untuk mengirim dan menerima, serta mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.

SendPingAsync(IPAddress, TimeSpan, Byte[], PingOptions, CancellationToken)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang memiliki IPAddress, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi, buffer yang digunakan untuk mengirim dan menerima, mengontrol fragmentasi dan nilai Time-to-Live, dan CancellationToken untuk paket pesan gema ICMP.

SendPingAsync(String)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron.

SendPingAsync(String, Int32)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi.

SendPingAsync(String, Int32, Byte[])

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi dan buffer yang digunakan untuk mengirim dan menerima.

SendPingAsync(String, Int32, Byte[], PingOptions)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi, buffer yang digunakan untuk mengirim dan menerima, serta mengontrol fragmentasi dan nilai Time-to-Live untuk paket pesan gema ICMP.

SendPingAsync(String, TimeSpan, Byte[], PingOptions, CancellationToken)

Mengirim pesan gema Internet Control Message Protocol (ICMP) dengan buffer data yang ditentukan ke komputer yang ditentukan, dan menerima pesan balasan gema ICMP yang sesuai dari komputer tersebut sebagai operasi asinkron. Kelebihan beban ini memungkinkan Anda menentukan nilai waktu habis untuk operasi, buffer yang digunakan untuk mengirim dan menerima, mengontrol fragmentasi dan nilai Time-to-Live, dan CancellationToken untuk paket pesan gema ICMP.

ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)
PingCompleted

Terjadi ketika operasi asinkron untuk mengirim pesan gema Internet Control Message Protocol (ICMP) dan menerima pesan balasan echo ICMP yang sesuai selesai atau dibatalkan.

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

Merilis semua sumber daya yang digunakan oleh instans Ping kelas .

Berlaku untuk

Lihat juga