Ping Classe

Definição

Permite que um aplicativo determine se um computador remoto está acessível na rede.Allows an application to determine whether a remote computer is accessible over the network.

public ref class Ping : IDisposable
public ref class Ping : System::ComponentModel::Component
public ref class Ping : System::ComponentModel::Component, IDisposable
public class Ping : IDisposable
public class Ping : System.ComponentModel.Component
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    interface IDisposable
type Ping = class
    inherit Component
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Implements IDisposable
Public Class Ping
Inherits Component
Public Class Ping
Inherits Component
Implements IDisposable
Herança
Ping
Herança
Implementações

Exemplos

O exemplo de código a seguir demonstra como usar a classe Ping de forma síncrona.The following code example demonstrates using the Ping class synchronously.

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

O exemplo de código a seguir demonstra como usar a classe Ping de forma assíncrona.The following code example demonstrates using the Ping class asynchronously.

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

Comentários

Os aplicativos usam a classe Ping para detectar se um computador remoto está acessível.Applications use the Ping class to detect whether a remote computer is reachable.

A topologia de rede pode determinar se Ping pode contatar um host remoto com êxito.Network topology can determine whether Ping can successfully contact a remote host. A presença e a configuração de proxies, equipamentos NAT (conversão de endereços de rede) ou firewalls podem impedir que Ping sejam bem-sucedidos.The presence and configuration of proxies, network address translation (NAT) equipment, or firewalls can prevent Ping from succeeding. Um Ping bem-sucedido indica apenas que o host remoto pode ser acessado na rede; a presença de serviços de nível superior (como um servidor Web) no host remoto não é garantida.A successful Ping indicates only that the remote host can be reached on the network; the presence of higher level services (such as a Web server) on the remote host is not guaranteed.

Essa classe fornece funcionalidade semelhante à ferramenta de linha de comando ping. exe.This class provides functionality similar to the Ping.exe command line tool. Os métodos Send e SendAsync enviam uma mensagem de solicitação de eco do protocolo ICMP para um computador remoto e aguarda uma mensagem de resposta de eco ICMP desse computador.The Send and SendAsync methods send an Internet Control Message Protocol (ICMP) echo request message to a remote computer and waits for an ICMP echo reply message from that computer. Para obter uma descrição detalhada das mensagens ICMP, consulte RFC 792, disponível em https://www.ietf.org.For a detailed description of ICMP messages, see RFC 792, available at https://www.ietf.org.

Os tipos a seguir são usados com a classe Ping e são descritos em detalhes abaixo.The following types are used with the Ping class and are described in detail below.

Nome do tipoType name DescriçãoDescription
IPStatus Define os códigos de status que descrevem o resultado de uma mensagem de solicitação de eco ICMP.Defines status codes that describe the outcome of an ICMP echo request message.
PingOptions Permite que você configure ou recupere as configurações que controlam quantas vezes o pacote de solicitação pode ser encaminhado (Ttl) e se ele pode ser fragmentado (DontFragment).Allows you to configure or retrieve the settings that control how many times the request packet can be forwarded (Ttl), and whether it can be fragmented (DontFragment ).
PingReply Contém os resultados de uma solicitação de eco ICMP.Contains the results of an ICMP echo request.
PingException Gerado se ocorrer um erro irrecuperável.Thrown if an unrecoverable error occurs.
PingCompletedEventArgs Contém os dados associados aos eventos de PingCompleted, que são gerados quando uma chamada de SendAsync é concluída ou cancelada.Contains the data associated with PingCompleted events, which are raised when a SendAsync call completes or is canceled.
PingCompletedEventHandler O delegado que fornece o método de retorno de chamada invocado quando uma chamada de SendAsync é concluída ou cancelada.The delegate that provides the callback method invoked when a SendAsync call completes or is canceled.

Os métodos Send e SendAsync retornam a resposta em um objeto PingReply.The Send and SendAsync methods return the reply in a PingReply object. A propriedade PingReply.Status retorna um valor de IPStatus para indicar o resultado da solicitação.The PingReply.Status property returns an IPStatus value to indicate the outcome of the request.

Ao enviar a solicitação, você deve especificar o computador remoto.When sending the request, you must specify the remote computer. Você pode fazer isso fornecendo uma cadeia de caracteres de nome de host, um endereço IP no formato de cadeia de caracteres ou um objeto de IPAddress.You can do this by providing a host name string, an IP address in string format, or an IPAddress object.

Você também pode especificar qualquer um dos seguintes tipos de informação:You can also specify any of the following types of information:

  • Dados para acompanhar a solicitação.Data to accompany the request. Especificar buffer permite que você aprenda a quantidade de tempo necessária para um pacote de um determinado tamanho viajar de e para o host remoto e a unidade de transmissão máxima do caminho de rede.Specifying buffer allows you to learn the amount of time required for a packet of a particular size to travel to and from the remote host and the maximum transmission unit of the network path. (Consulte as sobrecargas Send ou SendAsync que usam um parâmetro buffer.)(See the Send or SendAsync overloads that take a buffer parameter.)

  • Se o pacote de eco ICMP pode ser fragmentado em trânsito.Whether the ICMP Echo packet can be fragmented in transit. (Consulte a propriedade DontFragment e as sobrecargas Send ou SendAsync que usam um parâmetro options.)(See the DontFragment property and the Send or SendAsync overloads that take an options parameter.)

  • Quantas vezes os nós de roteamento, como roteadores ou gateways, podem encaminhar o pacote antes que ele chegue ao computador de destino ou seja Descartado.How many times routing nodes, such as routers or gateways, can forward the packet before it either reaches the destination computer or is discarded. (Consulte Ttl e as sobrecargas Send ou SendAsync que usam um parâmetro options.)(See Ttl and the Send or SendAsync overloads that take an options parameter.)

  • O limite de tempo no qual a resposta deve ser recebida.The time limit within which the reply must be received. (Consulte as sobrecargas Send ou SendAsync que usam um parâmetro timeout.(See the Send or SendAsync overloads that take a timeout parameter.

A classe Ping oferece métodos síncronos e assíncronos para enviar a solicitação.The Ping class offers both synchronous and asynchronous methods for sending the request. Se seu aplicativo deve bloquear enquanto aguarda uma resposta, use os métodos Send; Esses métodos são síncronos.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous. Se seu aplicativo não deve bloquear, use os métodos assíncronos de SendAsync.If your application should not block, use the asynchronous SendAsync methods. Uma chamada para SendAsync é executada em seu próprio thread que é alocado automaticamente do pool de threads.A call to SendAsync executes in its own thread that is automatically allocated from the thread pool. Quando a operação assíncrona é concluída, ela gera o evento PingCompleted.When the asynchronous operation completes, it raises the PingCompleted event. Os aplicativos usam um PingCompletedEventHandler delegado para especificar o método que é chamado para eventos de PingCompleted.Applications use a PingCompletedEventHandler delegate to specify the method that is called for PingCompleted events. Você deve adicionar um PingCompletedEventHandler delegado ao evento antes de chamar SendAsync.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. O método do delegado recebe um objeto PingCompletedEventArgs que contém um objeto PingReply que descreve o resultado da chamada SendAsync.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call.

Você não pode usar a mesma instância da classe Ping para gerar várias solicitações de eco ICMP simultâneas.You cannot use the same instance of the Ping class to generate multiple simultaneous ICMP Echo requests. Chamar Send enquanto uma chamada de SendAsync está em andamento ou chamar SendAsync várias vezes antes que todas as chamadas anteriores tenham sido concluídas causa um InvalidOperationException.Calling Send while a SendAsync call is in progress or calling SendAsync multiple times before all previous calls have completed causes an InvalidOperationException.

Construtores

Ping()

Inicia uma nova instância da classe Ping.Initializes a new instance of the Ping class.

Propriedades

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.Gets a value indicating whether the component can raise an event.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.Gets the IContainer that contains the Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.Gets a value that indicates whether the Component is currently in design mode.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.Gets the list of event handlers that are attached to this Component.

(Herdado de Component)
Site

Obtém ou define o ISite do Component.Gets or sets the ISite of the Component.

(Herdado de Component)

Métodos

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
Dispose()
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo objeto Ping e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the Ping object, and optionally disposes of the managed resources.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.Returns an object that represents a service provided by the Component or by its Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

Gera o evento PingCompleted.Raises the PingCompleted event.

Send(IPAddress)

Tenta enviar uma mensagem de eco do protocolo ICMP para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente desse computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

Send(IPAddress, Int32)

Tenta enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Esse método permite que você especifique um valor de tempo limite para a operação.This method allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[])

Tenta enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

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

Tenta enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco de ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controle valores de fragmentação e vida útil para o pacote de mensagem de eco de ICMP.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

Send(String)

Tenta enviar uma mensagem de eco do protocolo ICMP para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

Send(String, Int32)

Tenta enviar uma mensagem de eco do protocolo ICMP para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Esse método permite que você especifique um valor de tempo limite para a operação.This method allows you to specify a time-out value for the operation.

Send(String, Int32, Byte[])

Tenta enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

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

Tenta enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e a fragmentação de controle e valores de vida útil do pacote ICMP.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

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

Tenta de forma assíncrona enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

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

Tenta de forma assíncrona enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controle valores de fragmentação e vida útil para o pacote de mensagem de eco de ICMP.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

SendAsync(IPAddress, Int32, Object)

Tenta enviar assincronamente uma mensagem de eco do protocolo ICMP para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente desse computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

SendAsync(IPAddress, Object)

Tenta enviar assincronamente uma mensagem de eco do protocolo ICMP para o computador que tem o IPAddress especificado e receber uma mensagem de resposta de eco do ICMP correspondente desse computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

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

Tenta de forma assíncrona enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

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

Tenta de forma assíncrona enviar uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e a fragmentação de controle e valores de vida útil do pacote ICMP.This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

SendAsync(String, Int32, Object)

Tenta enviar uma mensagem de eco do protocolo ICMP para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador de maneira assíncrona.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

SendAsync(String, Object)

Tenta enviar uma mensagem de eco do protocolo ICMP para o computador especificado e receber uma mensagem de resposta de eco do ICMP correspondente do computador de maneira assíncrona.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

SendAsyncCancel()

Cancela todas as solicitações assíncronas pendentes para enviar uma mensagem de eco do protocolo ICMP e receber uma mensagem de resposta de eco ICMP correspondente.Cancels all pending asynchronous requests to send an Internet Control Message Protocol (ICMP) echo message and receives a corresponding ICMP echo reply message.

SendPingAsync(IPAddress)

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e recebe uma mensagem de resposta de eco do ICMP correspondente do computador como uma operação assíncrona.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation.

SendPingAsync(IPAddress, Int32)

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e recebe uma mensagem de resposta de eco do ICMP correspondente do computador como uma operação assíncrona.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

SendPingAsync(IPAddress, Int32, Byte[])

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e recebe uma mensagem de resposta de eco do ICMP correspondente do computador como uma operação assíncrona.Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e um buffer a ser usado para enviar e receber.This overload allows you to specify a time-out value for the operation and a buffer to use for send and receive.

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

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador que tem o IPAddress especificado e recebe uma mensagem de resposta de eco do ICMP correspondente do computador como uma operação assíncrona.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação, um buffer a ser usado para enviar e receber e controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.This overload allows you to specify a time-out value for the operation, a buffer to use for send and receive, and control fragmentation and Time-to-Live values for the ICMP echo message packet.

SendPingAsync(String)

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e recebe uma mensagem de resposta de eco do ICMP do computador como uma operação assíncrona.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation.

SendPingAsync(String, Int32)

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e recebe uma mensagem de resposta de eco do ICMP do computador como uma operação assíncrona.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.This overload allows you to specify a time-out value for the operation.

SendPingAsync(String, Int32, Byte[])

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e recebe uma mensagem de resposta de eco do ICMP do computador como uma operação assíncrona.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e um buffer a ser usado para enviar e receber.This overload allows you to specify a time-out value for the operation and a buffer to use for send and receive.

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

Envia uma mensagem de eco do protocolo ICMP com o buffer de dados especificado para o computador especificado e recebe uma mensagem de resposta de eco do ICMP do computador como uma operação assíncrona.Sends an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer as an asynchronous operation. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação, um buffer a ser usado para enviar e receber e controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.This overload allows you to specify a time-out value for the operation, a buffer to use for send and receive, and control fragmentation and Time-to-Live values for the ICMP echo message packet.

ToString()

Retorna um String que contém o nome do Component, se houver.Returns a String containing the name of the Component, if any. Esse método não deve ser substituído.This method should not be overridden.

(Herdado de Component)

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada ao método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Herdado de Component)
PingCompleted

Ocorre quando uma operação assíncrona envia uma mensagem de eco do protocolo ICMP e recebe a mensagem de resposta de eco do protocolo ICMP correspondente concluída ou cancelada.Occurs when an asynchronous operation to send an Internet Control Message Protocol (ICMP) echo message and receive the corresponding ICMP echo reply message completes or is canceled.

Implantações explícitas de interface

IDisposable.Dispose()

Libera todos os recursos usados por instâncias da classe Ping.Releases all resources used by instances of the Ping class.

Aplica-se a

Veja também