Ping Klasa

Definicja

Umożliwia aplikacji określenie, czy komputer zdalny jest dostępny za pośrednictwem sieci.

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
Dziedziczenie
Dziedziczenie
Ping
Implementuje

Przykłady

W poniższym przykładzie kodu pokazano sposób synchronicznego używania Ping klasy.

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

W poniższym przykładzie kodu pokazano, jak używać Ping klasy asynchronicznie.

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

Uwagi

Aplikacje używają Ping klasy do wykrywania, czy komputer zdalny jest osiągalny.

Topologia sieci może określić, czy Ping można pomyślnie skontaktować się z hostem zdalnym. Obecność i konfiguracja serwerów proxy, sprzętu translatora adresów sieciowych (NAT, network address translation) lub zapór może zapobiec Ping powodzeniu. Ping Powodzenie wskazuje tylko, że można uzyskać dostęp do hosta zdalnego w sieci; obecność usług wyższego poziomu (takich jak serwer sieci Web) na hoście zdalnym nie jest gwarantowana.

Ta klasa udostępnia funkcje podobne do narzędzia wiersza polecenia Ping.exe. Metody Send i SendAsync wysyłają komunikat żądania echa protokołu ICMP (Internet Control Message Protocol) do komputera zdalnego i oczekują na komunikat odpowiedzi echa ICMP z tego komputera. Aby uzyskać szczegółowy opis komunikatów ICMP, zobacz RFC 792, dostępny pod adresem https://www.ietf.org.

Następujące typy są używane z klasą Ping i zostały szczegółowo opisane poniżej.

Nazwa typu Opis
IPStatus Definiuje kody stanu opisujące wynik komunikatu żądania echa ICMP.
PingOptions Umożliwia skonfigurowanie lub pobranie ustawień, które kontrolują, ile razy można przekazać pakiet żądania (Ttl) i czy można go fragmentować (DontFragment ).
PingReply Zawiera wyniki żądania echa ICMP.
PingException Zgłaszany, jeśli wystąpi nieodwracalny błąd.
PingCompletedEventArgs Zawiera dane skojarzone z zdarzeniami PingCompleted , które są wywoływane po zakończeniu SendAsync wywołania lub anulowaniu.
PingCompletedEventHandler Delegat, który udostępnia metodę wywołania zwrotnego wywoływaną SendAsync po zakończeniu lub anulowaniu wywołania.

Metody Send i SendAsync zwracają odpowiedź w PingReply obiekcie . Właściwość PingReply.Status zwraca IPStatus wartość, aby wskazać wynik żądania.

Podczas wysyłania żądania należy określić komputer zdalny. Można to zrobić, podając ciąg nazwy hosta, adres IP w formacie ciągu lub IPAddress obiekt.

Można również określić dowolny z następujących typów informacji:

  • Dane, które mają towarzyszyć żądaniu. Określenie buffer umożliwia poznanie czasu wymaganego przez pakiet o określonym rozmiarze do i z hosta zdalnego oraz maksymalną jednostkę transmisji ścieżki sieciowej. (Zobacz Send przeciążenia lub SendAsync , które przyjmują buffer parametr).

  • Czy pakiet echa ICMP może być fragmentowany podczas przesyłania. (Zobacz DontFragment właściwość i Send SendAsync przeciążenia, które przyjmują options parametr ).

  • Ile razy węzły routingu, takie jak routery lub bramy, mogą przekazywać pakiet do przodu, zanim dotrze do komputera docelowego lub zostaną odrzucone. (Zobacz Ttl i Send SendAsync przeciążenia, które przyjmują options parametr ).

  • Limit czasu, w którym musi zostać odebrana odpowiedź. (Zobacz Send przeciążenia lub SendAsync , które przyjmują timeout parametr .

Klasa Ping oferuje metody synchroniczne i asynchroniczne do wysyłania żądania. Jeśli aplikacja powinna blokować podczas oczekiwania na odpowiedź, użyj Send metod . Te metody są synchroniczne. Jeśli aplikacja nie powinna blokować, użyj metod asynchronicznych SendAsync . Wywołanie do SendAsync wykonania we własnym wątku, który jest automatycznie przydzielany z puli wątków. Po zakończeniu operacji asynchronicznej zgłaszane jest PingCompleted zdarzenie. Aplikacje używają delegata PingCompletedEventHandler , aby określić metodę wywoływaną dla PingCompleted zdarzeń. Przed wywołaniem metody SendAsyncnależy dodać PingCompletedEventHandler delegata do zdarzenia . Metoda delegata odbiera PingCompletedEventArgs obiekt, który zawiera PingReply obiekt opisujący wynik SendAsync wywołania.

Nie można użyć tego samego wystąpienia Ping klasy, aby wygenerować wiele równoczesnych żądań echa ICMP. Wywołanie, gdy wywołanie Send jest w toku lub wywoływanie SendAsync wiele razy, zanim wszystkie poprzednie wywołania zostały zakończone, powoduje wywołanie metody InvalidOperationException.SendAsync

Konstruktory

Ping()

Inicjuje nowe wystąpienie klasy Ping.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
Site

Pobiera lub ustawia ISite element .Component

(Odziedziczone po Component)

Metody

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia niezarządzane zasoby i usuwa zarządzane zasoby używane przez program Ping.

Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez Ping obiekt i opcjonalnie usuwa zasoby zarządzane.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt reprezentujący usługę dostarczaną przez Component obiekt lub przez obiekt Container.

(Odziedziczone po Component)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

PingCompleted Zgłasza zdarzenie.

Send(IPAddress)

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do komputera, który ma określony IPAddresselement , i otrzyma odpowiedni komunikat odpowiedzi echa ICMP z tego komputera.

Send(IPAddress, Int32)

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddressparametr , i otrzyma odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. Ta metoda umożliwia określenie wartości limitu czasu dla operacji.

Send(IPAddress, Int32, Byte[])

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddressparametr , i otrzyma odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

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

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddress i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i fragmentacji kontrolki oraz wartości Time-to-Live dla pakietu komunikatu echa ICMP.

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

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do określonego komputera i odebrać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera.

Send(String, Int32)

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do określonego komputera i odebrać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. Ta metoda umożliwia określenie wartości limitu czasu dla operacji.

Send(String, Int32, Byte[])

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i otrzymać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

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

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i otrzymać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i kontroli fragmentacji oraz wartości Time-to-Live pakietu ICMP.

Send(String, TimeSpan, Byte[], PingOptions)
SendAsync(IPAddress, Int32, Byte[], Object)

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddresselement , i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

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

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddresselement , i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i fragmentacji kontrolki oraz wartości Time-to-Live dla pakietu komunikatu echa ICMP.

SendAsync(IPAddress, Int32, Object)

Asynchronicznie próbuje wysłać komunikat echo protokołu ICMP (Internet Control Message Protocol) do komputera, który ma określony IPAddresselement , i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

SendAsync(IPAddress, Object)

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do komputera, który ma określony IPAddresselement , i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera.

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

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

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

Asynchronicznie próbuje wysłać komunikat echo protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i fragmentacji kontrolki oraz wartości Time-to-Live dla pakietu ICMP.

SendAsync(String, Int32, Object)

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

SendAsync(String, Object)

Asynchronicznie próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera.

SendAsyncCancel()

Anuluje wszystkie oczekujące żądania asynchroniczne, aby wysłać komunikat echo protokołu ICMP (Internet Control Message Protocol) i odbiera odpowiedni komunikat odpowiedzi echa ICMP.

SendPingAsync(IPAddress)

Wyślij komunikat echo protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera z określonym IPAddressadresem i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną.

SendPingAsync(IPAddress, Int32)

Wyślij komunikat echo protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera z określonym IPAddressadresem i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

SendPingAsync(IPAddress, Int32, Byte[])

Wyślij komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera z określonym IPAddressparametrem i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i buforu do użycia na potrzeby wysyłania i odbierania.

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

Wysyła komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do komputera, który ma określony IPAddresselement , i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji, buforu do użycia na potrzeby wysyłania i odbierania oraz fragmentacji kontroli oraz wartości czasu wygaśnięcia dla pakietu komunikatów echa ICMP.

SendPingAsync(String)

Wysyła komunikat echo protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną.

SendPingAsync(String, Int32)

Wysyła komunikat echo protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji.

SendPingAsync(String, Int32, Byte[])

Wysyła komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji i buforu do użycia na potrzeby wysyłania i odbierania.

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

Wysyła komunikat echa protokołu ICMP (Internet Control Message Protocol) z określonym buforem danych do określonego komputera i odbiera odpowiedni komunikat odpowiedzi echa ICMP z tego komputera jako operację asynchroniczną. To przeciążenie umożliwia określenie wartości limitu czasu dla operacji, buforu do użycia na potrzeby wysyłania i odbierania oraz fragmentacji kontroli oraz wartości czasu wygaśnięcia dla pakietu komunikatów echa ICMP.

ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)
PingCompleted

Występuje, gdy operacja asynchroniczna wysyłania komunikatu echa protokołu ICMP (Internet Control Message Protocol) i odbierania odpowiedniego komunikatu odpowiedzi echa ICMP lub jest anulowana.

Jawne implementacje interfejsu

IDisposable.Dispose()

Zwalnia wszystkie zasoby używane przez wystąpienia Ping klasy .

Dotyczy

Zobacz też