Ping Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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);
}
}
}
}
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
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) 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 SendSendAsync 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 SendSendAsync 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 wartość ISite .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() |
Przestarzałe.
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, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container. (Odziedziczone po Component) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
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 IPAddresselement , 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 IPAddresselement , 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) |
Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do komputera, który ma określony IPAddresselement , i odebrać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. |
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) |
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. |
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 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. 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 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 i kontroli fragmentacji oraz wartości Time-to-Live 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 w celu wysłania komunikatu echa protokołu ICMP (Internet Control Message Protocol) i odbiera odpowiedni komunikat odpowiedzi echa ICMP. |
SendPingAsync(IPAddress) |
Wyślij 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ą. |
SendPingAsync(IPAddress, Int32) |
Wyślij 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. |
SendPingAsync(IPAddress, Int32, Byte[]) |
Wyślij 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 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(IPAddress, TimeSpan, Byte[], PingOptions, CancellationToken) |
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, fragmentacji sterowania i wartości czasu wygaśnięcia oraz CancellationToken pakietu komunikatów echa ICMP. |
SendPingAsync(String) |
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ą. |
SendPingAsync(String, Int32) |
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. |
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. |
SendPingAsync(String, TimeSpan, Byte[], PingOptions, CancellationToken) |
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, fragmentacji sterowania i wartości czasu wygaśnięcia oraz CancellationToken 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 . |