Ping Clase

Definición

Permite que una aplicación determine si un equipo remoto está accesible a través de la red.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
Herencia
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la clase Ping de forma sincrónica.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);
            }
        }
    }
}

En el ejemplo de código siguiente se muestra el uso de la clase Ping de forma asincrónica.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);
            }
        }
    }
}

Comentarios

Las aplicaciones usan la clase Ping para detectar si se puede tener acceso a un equipo remoto.Applications use the Ping class to detect whether a remote computer is reachable.

La topología de red puede determinar si Ping puede ponerse en contacto correctamente con un host remoto.Network topology can determine whether Ping can successfully contact a remote host. La presencia y configuración de servidores proxy, equipos NAT (traducción de direcciones de red) o firewalls pueden impedir que Ping se realicen correctamente.The presence and configuration of proxies, network address translation (NAT) equipment, or firewalls can prevent Ping from succeeding. Un Ping correcto solo indica que se puede tener acceso al host remoto en la red; no se garantiza la presencia de servicios de nivel superior (como un servidor Web) en el host remoto.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.

Esta clase proporciona una funcionalidad similar a la herramienta de línea de comandos ping. exe.This class provides functionality similar to the Ping.exe command line tool. Los métodos Send y SendAsync envían un mensaje de solicitud de eco ICMP (Protocolo de mensajes de control de Internet) a un equipo remoto y espera un mensaje de respuesta de eco ICMP de ese equipo.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 obtener una descripción detallada de los mensajes ICMP, consulte RFC 792, disponible en https://www.ietf.org.For a detailed description of ICMP messages, see RFC 792, available at https://www.ietf.org.

Los tipos siguientes se usan con la clase Ping y se describen en detalle a continuación.The following types are used with the Ping class and are described in detail below.

Nombre de tipoType name DescripciónDescription
IPStatus Define códigos de estado que describen el resultado de un mensaje de solicitud de eco ICMP.Defines status codes that describe the outcome of an ICMP echo request message.
PingOptions Permite configurar o recuperar la configuración que controla el número de veces que se puede reenviar el paquete de solicitud (Ttl) y si se puede fragmentar (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 Contiene los resultados de una solicitud de eco ICMP.Contains the results of an ICMP echo request.
PingException Se produce si se produce un error irrecuperable.Thrown if an unrecoverable error occurs.
PingCompletedEventArgs Contiene los datos asociados a los eventos de PingCompleted, que se generan cuando una llamada de SendAsync se completa o se cancela.Contains the data associated with PingCompleted events, which are raised when a SendAsync call completes or is canceled.
PingCompletedEventHandler Delegado que proporciona el método de devolución de llamada invocado cuando una llamada SendAsync se completa o se cancela.The delegate that provides the callback method invoked when a SendAsync call completes or is canceled.

Los métodos Send y SendAsync devuelven la respuesta en un objeto PingReply.The Send and SendAsync methods return the reply in a PingReply object. La propiedad PingReply.Status devuelve un valor IPStatus para indicar el resultado de la solicitud.The PingReply.Status property returns an IPStatus value to indicate the outcome of the request.

Al enviar la solicitud, debe especificar el equipo remoto.When sending the request, you must specify the remote computer. Para ello, puede proporcionar una cadena de nombre de host, una dirección IP en formato de cadena o un objeto de IPAddress.You can do this by providing a host name string, an IP address in string format, or an IPAddress object.

También puede especificar cualquiera de los siguientes tipos de información:You can also specify any of the following types of information:

  • Datos que se van a adjuntar a la solicitud.Data to accompany the request. La especificación de buffer permite conocer la cantidad de tiempo necesario para que un paquete de un tamaño determinado viaje hacia y desde el host remoto y la unidad de transmisión máxima de la ruta de acceso de red.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. (Vea las sobrecargas Send o SendAsync que toman un parámetro de buffer).(See the Send or SendAsync overloads that take a buffer parameter.)

  • Si el paquete de eco ICMP se puede fragmentar en tránsito.Whether the ICMP Echo packet can be fragmented in transit. (Vea la propiedad DontFragment y las sobrecargas Send o SendAsync que toman un parámetro options).(See the DontFragment property and the Send or SendAsync overloads that take an options parameter.)

  • El número de veces que los nodos de enrutamiento, como los enrutadores o las puertas de enlace, pueden reenviar el paquete antes de que llegue al equipo de destino o se descarte.How many times routing nodes, such as routers or gateways, can forward the packet before it either reaches the destination computer or is discarded. (Vea Ttl y las sobrecargas de Send o SendAsync que toman un parámetro options).(See Ttl and the Send or SendAsync overloads that take an options parameter.)

  • El límite de tiempo dentro del cual se debe recibir la respuesta.The time limit within which the reply must be received. (Vea las sobrecargas Send o SendAsync que toman un parámetro de timeout.(See the Send or SendAsync overloads that take a timeout parameter.

La clase Ping ofrece métodos sincrónicos y asincrónicos para enviar la solicitud.The Ping class offers both synchronous and asynchronous methods for sending the request. Si la aplicación debe bloquearse mientras se espera una respuesta, utilice los métodos Send; Estos métodos son sincrónicos.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous. Si la aplicación no debe bloquearse, use los métodos de SendAsync asincrónicos.If your application should not block, use the asynchronous SendAsync methods. Una llamada a SendAsync se ejecuta en su propio subproceso que se asigna automáticamente desde el grupo de subprocesos.A call to SendAsync executes in its own thread that is automatically allocated from the thread pool. Cuando se completa la operación asincrónica, se genera el evento PingCompleted.When the asynchronous operation completes, it raises the PingCompleted event. Las aplicaciones usan un PingCompletedEventHandler delegado para especificar el método al que se llama para los eventos de PingCompleted.Applications use a PingCompletedEventHandler delegate to specify the method that is called for PingCompleted events. Debe agregar un delegado de PingCompletedEventHandler al evento antes de llamar a SendAsync.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. El método del delegado recibe un PingCompletedEventArgs objeto que contiene un PingReply objeto que describe el resultado de la llamada a SendAsync.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call.

No se puede utilizar la misma instancia de la clase Ping para generar varias solicitudes de eco ICMP simultáneas.You cannot use the same instance of the Ping class to generate multiple simultaneous ICMP Echo requests. La llamada a Send mientras una llamada SendAsync está en curso o llamando a SendAsync varias veces antes de que se hayan completado todas las llamadas anteriores provoca una InvalidOperationException.Calling Send while a SendAsync call is in progress or calling SendAsync multiple times before all previous calls have completed causes an InvalidOperationException.

Constructores

Ping()

Inicializa una nueva instancia de la clase Ping.Initializes a new instance of the Ping class.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
Container

Obtiene IContainer que contiene Component.Gets the IContainer that contains the Component.

(Heredado de Component)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
Site

Obtiene o establece el ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)

Métodos

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()
Dispose(Boolean)

Libera los recursos no administrados que usa el objeto Ping y, de forma opcional, desecha los recursos administrados.Releases the unmanaged resources used by the Ping object, and optionally disposes of the managed resources.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

Genera el evento PingCompleted.Raises the PingCompleted event.

Send(IPAddress)

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo que tiene la IPAddress especificada y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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)

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Este método permite especificar un valor de tiempo de espera para la operación.This method allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[])

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

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

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo con la IPAddress especificada y recibir un mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y controlar los valores de Período de vida y fragmentación para el paquete del mensaje de eco 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)

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo especificado y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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)

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo especificado y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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. Este método permite especificar un valor de tiempo de espera para la operación.This method allows you to specify a time-out value for the operation.

Send(String, Int32, Byte[])

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

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

Intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y controlar los valores de Período de vida y fragmentación para el paquete 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)

De forma asincrónica, intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada, y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

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

De forma asincrónica, intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada, y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y controlar los valores de Período de vida y fragmentación para el paquete del mensaje de eco 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)

Intenta enviar de forma asincrónica un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo que tiene la IPAddress especificada y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

SendAsync(IPAddress, Object)

Intenta enviar de forma asincrónica un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo que tiene la IPAddress especificada y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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)

De forma asincrónica, intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

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

De forma asincrónica, intenta enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibir el correspondiente mensaje de respuesta de eco ICMP de ese equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y controlar los valores de Período de vida y fragmentación para el paquete 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)

Intenta enviar de forma asincrónica un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo especificado y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

SendAsync(String, Object)

Intenta enviar de forma asincrónica un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) al equipo especificado y recibir un mensaje de respuesta de eco ICMP correspondiente de dicho equipo.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 las solicitudes asincrónicas pendientes para enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) y recibe un mensaje de respuesta de eco ICMP correspondiente.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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

SendPingAsync(IPAddress, Int32, Byte[])

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene la IPAddress especificada, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir.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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo que tiene el elemento IPAddress especificado y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir y controlar los valores de Período de vida y fragmentación para el paquete del mensaje 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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.This overload allows you to specify a time-out value for the operation.

SendPingAsync(String, Int32, Byte[])

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir.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)

Envía un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) con el búfer de datos especificado al equipo especificado, y recibe el correspondiente mensaje de respuesta de eco ICMP de ese equipo como una operación asincrónica.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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir y controlar los valores de Período de vida y fragmentación para el paquete del mensaje 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()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Heredado de Component)

Eventos

Disposed

Se produce cuando el componente se elimina mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)
PingCompleted

Se produce cuando una operación asincrónica para enviar un mensaje de eco ICMP (Protocolo de mensajes de control de Internet) y recibir el mensaje de respuesta de eco ICMP correspondiente finaliza o se cancela.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.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera todos los recursos utilizados por las instancias de la clase Ping.Releases all resources used by instances of the Ping class.

Se aplica a

Consulte también: