Compartir a través de


Ping Clase

Definición

Permite que una aplicación determine si un equipo remoto está accesible a través de la red.

public ref class Ping : System::ComponentModel::Component
public ref class Ping : IDisposable
public ref class Ping : System::ComponentModel::Component, IDisposable
public class Ping : System.ComponentModel.Component
public class Ping : IDisposable
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    inherit Component
type Ping = class
    interface IDisposable
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Inherits Component
Public Class Ping
Implements IDisposable
Public Class Ping
Inherits Component
Implements IDisposable
Herencia
Herencia
Ping
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la Ping clase de forma sincrónica.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew PingOptions;
   
   // Use the default Ttl value which is 128,
   // but change the fragmentation behavior.
   options->DontFragment = true;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 1 ], timeout, buffer, options );
   
   if ( reply->Status == IPStatus::Success )
   {
      Console::WriteLine( "Address: {0}", reply->Address->ToString() );
      Console::WriteLine( "RoundTrip time: {0}", reply->RoundtripTime );
      Console::WriteLine( "Time to live: {0}", reply->Options->Ttl );
      Console::WriteLine( "Don't fragment: {0}", reply->Options->DontFragment );
      Console::WriteLine( "Buffer size: {0}", reply->Buffer->Length );
   }

   
}
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            Ping pingSender = new Ping ();
            PingOptions options = new PingOptions ();

            // Use the default Ttl value which is 128,
            // but change the fragmentation behavior.
            options.DontFragment = true;

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);
            int timeout = 120;
            PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}
open System.Net.NetworkInformation
open System.Text

// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
    let pingSender = new Ping()

    // Use the default Ttl value which is 128,
    // but change the fragmentation behavior.
    let options = PingOptions()
    options.DontFragment <- true

    // Create a buffer of 32 bytes of data to be transmitted.
    let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    let buffer = Encoding.ASCII.GetBytes data
    let timeout = 120
    let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)

    match reply.Status with
    | IPStatus.Success ->
        printfn "Address: %O" reply.Address
        printfn "RoundTrip time: %d" reply.RoundtripTime
        printfn "Time to live: %d" reply.Options.Ttl
        printfn "Don't fragment: %b" reply.Options.DontFragment
        printfn "Buffer size: %d" reply.Buffer.Length
        0
    | _ ->
        eprintfn "Error sending ping: %O" reply
        eprintfn "Error was: %O" reply.Status
        1

En el ejemplo de código siguiente se muestra cómo usar la Ping clase de forma asincrónica.

#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 Ping clase para detectar si se puede acceder a un equipo remoto.

La topología de red puede determinar si Ping puede ponerse en contacto correctamente con un host remoto. La presencia y configuración de servidores proxy, equipos de traducción de direcciones de red (NAT) o firewalls pueden impedir Ping que se realicen correctamente. Un correcto Ping indica solo que se puede acceder al host remoto en la red; no se garantiza la presencia de servicios de nivel superior (como un servidor web) en el host remoto.

Esta clase proporciona una funcionalidad similar a la Ping.exe herramienta de línea de comandos. Los Send métodos y SendAsync envían un mensaje de solicitud de eco del Protocolo de mensajes de control de Internet (ICMP) a un equipo remoto y esperan un mensaje de respuesta de eco ICMP desde ese equipo. Para obtener una descripción detallada de los mensajes ICMP, consulte RFC 792, disponible en https://www.ietf.org.

Los siguientes tipos se usan con la Ping clase y se describen en detalle a continuación.

Nombre de tipo Descripción
IPStatus Define los códigos de estado que describen el resultado de un mensaje de solicitud de eco ICMP.
PingOptions Permite configurar o recuperar las opciones que controlan cuántas veces se puede reenviar el paquete de solicitud (Ttl) y si se puede fragmentar (DontFragment ).
PingReply Contiene los resultados de una solicitud de eco ICMP.
PingException Se produce si se produce un error irrecuperable.
PingCompletedEventArgs Contiene los datos asociados a PingCompleted eventos, que se generan cuando se completa una SendAsync llamada o se cancela.
PingCompletedEventHandler Delegado que proporciona el método de devolución de llamada invocado cuando una SendAsync llamada finaliza o se cancela.

Los Send métodos y SendAsync devuelven la respuesta en un PingReply objeto . La PingReply.Status propiedad devuelve un IPStatus valor para indicar el resultado de la solicitud.

Al enviar la solicitud, debe especificar el equipo remoto. Para ello, proporcione una cadena de nombre de host, una dirección IP en formato de cadena o un IPAddress objeto.

También puede especificar cualquiera de los siguientes tipos de información:

  • Datos que acompañan a la solicitud. Especificar buffer le permite aprender la cantidad de tiempo necesaria 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. (Vea las Send sobrecargas o SendAsync que toman un buffer parámetro).

  • Si el paquete ICMP Echo se puede fragmentar en tránsito. (Vea la DontFragment propiedad y las Send sobrecargas o SendAsync que toman un options parámetro).

  • Cuántas veces los nodos de enrutamiento, como enrutadores o puertas de enlace, pueden reenviar el paquete antes de que llegue al equipo de destino o se descarte. (Vea Ttl y las Send sobrecargas o SendAsync que toman un options parámetro).

  • Límite de tiempo dentro del cual se debe recibir la respuesta. (Vea las Send sobrecargas o SendAsync que toman un timeout parámetro.

La Ping clase ofrece métodos sincrónicos y asincrónicos para enviar la solicitud. Si la aplicación debe bloquearse mientras espera una respuesta, use los Send métodos ; estos métodos son sincrónicos. Si la aplicación no debe bloquearse, use los métodos asincrónicos SendAsync . Una llamada a se SendAsync ejecuta en su propio subproceso que se asigna automáticamente desde el grupo de subprocesos. Cuando se completa la operación asincrónica, genera el PingCompleted evento . Las aplicaciones usan un PingCompletedEventHandler delegado para especificar el método al que se llama para PingCompleted eventos. Debe agregar un PingCompletedEventHandler delegado al evento antes de llamar a SendAsync. El método del delegado recibe un PingCompletedEventArgs objeto que contiene un PingReply objeto que describe el resultado de la SendAsync llamada.

No se puede usar la misma instancia de la Ping clase para generar varias solicitudes icMP Echo simultáneas. Llamar Send mientras una SendAsync llamada está en curso o llamando SendAsync varias veces antes de que todas las llamadas anteriores se hayan completado provoca una InvalidOperationExceptionexcepción .

Constructores

Ping()

Inicializa una nueva instancia de la clase Ping.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
Site

Obtiene o establece ISite de 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.

(Heredado de MarshalByRefObject)
Dispose()

Libera los recursos no administrados y desecha los recursos administrados que usa Ping.

Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa el objeto Ping y, de forma opcional, desecha los recursos administrados.

Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

Genera el evento PingCompleted.

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.

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. Este método permite especificar un valor de tiempo de espera para la operación.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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

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

Intenta enviar un mensaje de eco del Protocolo de mensajes de control de Internet (ICMP) al equipo que tiene el especificado IPAddressy para recibir un mensaje de respuesta de eco ICMP correspondiente de ese equipo.

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.

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. Este método permite especificar un valor de tiempo de espera para la operación.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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

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

Intenta enviar un mensaje de eco del Protocolo de mensajes de control de Internet (ICMP) al equipo especificado y recibir un mensaje de respuesta de eco ICMP correspondiente de ese equipo.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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.

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.

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.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir.

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

SendPingAsync(IPAddress, TimeSpan, Byte[], PingOptions, CancellationToken)

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación, un búfer que se usará para enviar y recibir, controlar la fragmentación y los valores de período de vida, y un CancellationToken para el paquete de mensajes de eco ICMP.

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.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación.

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. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación y un búfer para enviar y recibir.

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

SendPingAsync(String, TimeSpan, Byte[], PingOptions, CancellationToken)

Envía un mensaje de eco del Protocolo de mensajes de control de Internet (ICMP) con el búfer de datos especificado al equipo especificado y recibe un mensaje de respuesta de eco ICMP correspondiente de ese equipo como una operación asincrónica. Esta sobrecarga permite especificar un valor de tiempo de espera para la operación, un búfer que se usará para enviar y recibir, controlar la fragmentación y los valores de período de vida, y un CancellationToken para el paquete de mensajes de eco ICMP.

ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

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

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera todos los recursos utilizados por las instancias de la clase Ping.

Se aplica a

Consulte también