Ping Ping Ping Ping Class

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 : System::ComponentModel::Component, IDisposable
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Inherits Component
Implements IDisposable
Herança
Implementações

Exemplos

O exemplo de código a seguir demonstra Ping como usar a classe 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 Ping como usar a classe 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 Ping a classe 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 Ping determinar se o 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 Ping podem evitar o sucesso.The presence and configuration of proxies, network address translation (NAT) equipment, or firewalls can prevent Ping from succeeding. Um êxito Ping 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 Send métodos SendAsync e 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 https://www.ietf.orgem.For a detailed description of ICMP messages, see RFC 792, available at https://www.ietf.org.

Os tipos a seguir são usados com Ping a classe 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 PingCompleted eventos, que são gerados quando uma SendAsync chamada é 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 callback invocado quando SendAsync uma chamada é concluída ou cancelada.The delegate that provides the callback method invoked when a SendAsync call completes or is canceled.

Os Send métodos SendAsync e retornam a resposta em PingReply um objeto.The Send and SendAsync methods return the reply in a PingReply object. A PingReply.Status propriedade retorna um IPStatus valor 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 IPAddress cadeia de caracteres ou um objeto.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 para 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 Send SendAsync sobrecargas que usam um buffer parâmetro.)(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 DontFragment Propriedade e SendAsync as Send sobrecargas que usam um options parâmetro.)(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 Send e options as sobrecargas que usam um parâmetro.) SendAsync(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 Send SendAsync sobrecargas que usam um timeout parâmetro.(See the Send or SendAsync overloads that take a timeout parameter.

A Ping classe 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 Send métodos; 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 SendAsync assíncronos.If your application should not block, use the asynchronous SendAsync methods. Uma chamada para SendAsync executa em seu próprio thread que é automaticamente alocada 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 for concluída, ela gerará o PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Os aplicativos usam PingCompletedEventHandler um delegado para especificar o método que é chamado PingCompleted para eventos.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 PingCompletedEventArgs objeto que contém um PingReply objeto que SendAsync descreve o resultado da chamada.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 Ping classe para gerar várias solicitações simultâneas de eco ICMP.You cannot use the same instance of the Ping class to generate multiple simultaneous ICMP Echo requests. Chamar Send enquanto uma SendAsync chamada está em andamento ou chamar SendAsync várias vezes antes que todas as chamadas anteriores tenham sido InvalidOperationExceptionconcluídas causa um.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() Ping() Ping() Ping()

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

Métodos

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) 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) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() 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.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) 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.

(Inherited from Component)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() 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.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs) OnPingCompleted(PingCompletedEventArgs) OnPingCompleted(PingCompletedEventArgs) OnPingCompleted(PingCompletedEventArgs)

Aciona o evento PingCompleted.Raises the PingCompleted event.

Send(IPAddress) Send(IPAddress) Send(IPAddress) 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) Send(IPAddress, Int32) Send(IPAddress, Int32) 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[]) Send(IPAddress, Int32, Byte[]) Send(IPAddress, Int32, Byte[]) 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) Send(IPAddress, Int32, Byte[], PingOptions) Send(IPAddress, Int32, Byte[], PingOptions) 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) Send(String) Send(String) 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) Send(String, Int32) Send(String, Int32) 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[]) Send(String, Int32, Byte[]) Send(String, Int32, Byte[]) 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) Send(String, Int32, Byte[], PingOptions) Send(String, Int32, Byte[], PingOptions) 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) SendAsync(IPAddress, Int32, Byte[], Object) SendAsync(IPAddress, Int32, Byte[], Object) 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) SendAsync(IPAddress, Int32, Byte[], PingOptions, Object) SendAsync(IPAddress, Int32, Byte[], PingOptions, Object) 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) SendAsync(IPAddress, Int32, Object) SendAsync(IPAddress, Int32, Object) 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) SendAsync(IPAddress, Object) SendAsync(IPAddress, Object) 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) SendAsync(String, Int32, Byte[], Object) SendAsync(String, Int32, Byte[], Object) 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) SendAsync(String, Int32, Byte[], PingOptions, Object) SendAsync(String, Int32, Byte[], PingOptions, Object) 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) SendAsync(String, Int32, Object) SendAsync(String, Int32, Object) 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) SendAsync(String, Object) SendAsync(String, Object) 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() SendAsyncCancel() SendAsyncCancel() 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) SendPingAsync(IPAddress) SendPingAsync(IPAddress) 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) SendPingAsync(IPAddress, Int32) SendPingAsync(IPAddress, Int32) 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[]) SendPingAsync(IPAddress, Int32, Byte[]) SendPingAsync(IPAddress, Int32, Byte[]) 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) SendPingAsync(IPAddress, Int32, Byte[], PingOptions) SendPingAsync(IPAddress, Int32, Byte[], PingOptions) 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) SendPingAsync(String) SendPingAsync(String) 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) SendPingAsync(String, Int32) SendPingAsync(String, Int32) 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[]) SendPingAsync(String, Int32, Byte[]) SendPingAsync(String, Int32, Byte[]) 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) SendPingAsync(String, Int32, Byte[], PingOptions) SendPingAsync(String, Int32, Byte[], PingOptions) 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() ToString() ToString() 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.

(Inherited from Component)

Eventos

Disposed Disposed Disposed Disposed

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

(Inherited from Component)
PingCompleted PingCompleted PingCompleted 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() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

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

Propriedades

CanRaiseEvents CanRaiseEvents CanRaiseEvents 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.

(Inherited from Component)
Container Container Container Container

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

(Inherited from Component)
DesignMode DesignMode DesignMode 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.

(Inherited from Component)
Events Events Events 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.

(Inherited from Component)
Site Site Site Site

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

(Inherited from Component)

Aplica-se a

Veja também