Udostępnij za pośrednictwem


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 synchronicznie użycie Ping klasy.

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;
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 zapory mogą uniemożliwić Ping powodzenie. Ping Powodzenie wskazuje tylko, że host zdalny można uzyskać 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 czekają 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.

Poniższe 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 pakiet żądania może być przekazywany dalej (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 ze 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ą po SendAsync zakończeniu wywołania lub anulowaniu.

Metody Send i SendAsync zwracają odpowiedź w PingReply obiekcie . Właściwość PingReply.Status zwraca wartość wskazującą IPStatus 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 dla pakietu o określonym rozmiarze do podróży do i z hosta zdalnego oraz maksymalnej jednostki transmisji ścieżki sieciowej. (Zobacz Send przeciążenia lub SendAsync , które przyjmują buffer parametr).

  • Czy pakiet echo 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 osiągnie komputer docelowy lub zostanie odrzucony. (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ć się 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łasza PingCompleted ono zdarzenie. Aplikacje używają delegata, aby określić metodę PingCompletedEventHandler wywoływaną dla PingCompleted zdarzeń. Przed wywołaniem polecenia SendAsyncnależy dodać PingCompletedEventHandler delegata do zdarzenia . Metoda delegata odbiera PingCompletedEventArgs obiekt zawierający obiekt opisujący PingReply wynik wywołania SendAsync .

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 wiele razy przed ukończeniem wszystkich poprzednich wywołań powoduje wywołanie SendAsync .InvalidOperationExceptionSendAsync

Konstruktory

Nazwa Opis
Ping()

Inicjuje nowe wystąpienie klasy Ping.

Właściwości

Nazwa Opis
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 elementu Component.

(Odziedziczone po Component)
Site

Pobiera lub ustawia wartość ISite .Component

(Odziedziczone po Component)

Metody

Nazwa Opis
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 wszystkie zasoby używane przez program Component.

(Odziedziczone po Component)
Dispose(Boolean)

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

Dispose(Boolean)

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

(Odziedziczone po Component)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(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 reprezentujący usługę dostarczaną przez Component obiekt lub przez obiekt Container.

(Odziedziczone po Component)
GetType()

Pobiera Type 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 Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

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

(Odziedziczone po MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

PingCompleted Wywołuje zdarzenie.

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 otrzyma 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, 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 IPAddress, 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)

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 otrzyma odpowiedni komunikat odpowiedzi echa ICMP z tego komputera. Ta metoda umożliwia określenie wartości limitu czasu dla operacji.

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 aby otrzymać odpowiedni komunikat odpowiedzi echa ICMP z tego komputera.

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(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 fragmentacji kontrolki oraz wartości Time-to-Live dla pakietu ICMP.

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)

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

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.

Send(String)

Próbuje wysłać komunikat echa protokołu ICMP (Internet Control Message Protocol) do określonego komputera i otrzymać 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 IPAddress, i otrzymuje 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 IPAddress, i otrzymuje 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 otrzymuje 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 otrzymuje 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 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 w celu wysłania komunikatu echa protokołu ICMP (Internet Control Message Protocol) i odbiera odpowiedni komunikat odpowiedzi echa ICMP.

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 używanego do wysyłania i odbierania oraz fragmentacji kontrolek oraz wartości time-to-Live dla pakietu komunikatów echa ICMP.

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 do wysyłania i odbierania.

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, 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 kontrolek i wartości time-to-Live oraz dla CancellationToken pakietu komunikatów 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(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 używanego do wysyłania i odbierania oraz fragmentacji kontrolek oraz wartości time-to-Live dla pakietu komunikatów echa ICMP.

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 do wysyłania i odbierania.

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, 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 kontrolek i wartości time-to-Live oraz dla 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ą.

ToString()

Zwraca wartość zawierającą String nazwę Component, 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

Nazwa Opis
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

Nazwa Opis
IDisposable.Dispose()

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

Dotyczy

Zobacz też