Ping Classe

Definizione

Consente a un'applicazione di determinare se un computer remoto è accessibile sulla rete.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
Ereditarietà
Implementazioni

Esempi

Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo sincrono della classe Ping.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);
            }
        }
    }
}

Nell'esempio di codice seguente viene illustrato l'uso asincrono della classe Ping.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);
            }
        }
    }
}

Commenti

Le applicazioni utilizzano la classe Ping per rilevare se un computer remoto è raggiungibile.Applications use the Ping class to detect whether a remote computer is reachable.

Topologia di rete è in grado di determinare se Ping possibile contattare correttamente un host remoto.Network topology can determine whether Ping can successfully contact a remote host. La presenza e la configurazione di proxy, apparecchiature Network Address Translation (NAT) o firewall possono impedire la riuscita di Ping.The presence and configuration of proxies, network address translation (NAT) equipment, or firewalls can prevent Ping from succeeding. Una Ping riuscita indica solo che l'host remoto può essere raggiunto sulla rete; la presenza di servizi di livello superiore, ad esempio un server Web, nell'host remoto non è garantita.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.

Questa classe fornisce funzionalità simili allo strumento da riga di comando ping. exe.This class provides functionality similar to the Ping.exe command line tool. I metodi Send e SendAsync inviano un messaggio di richiesta echo Internet Control Message Protocol (ICMP) a un computer remoto e attende un messaggio di risposta echo ICMP da tale computer.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. Per una descrizione dettagliata dei messaggi ICMP, vedere la specifica RFC 792, disponibile all' https://www.ietf.org.For a detailed description of ICMP messages, see RFC 792, available at https://www.ietf.org.

I tipi seguenti vengono usati con la classe Ping e sono descritti in dettaglio di seguito.The following types are used with the Ping class and are described in detail below.

Nome tipoType name DescrizioneDescription
IPStatus Definisce i codici di stato che descrivono il risultato di un messaggio di richiesta echo ICMP.Defines status codes that describe the outcome of an ICMP echo request message.
PingOptions Consente di configurare o recuperare le impostazioni che controllano il numero di volte in cui il pacchetto di richiesta può essere trasmesso (Ttl) e se può essere frammentato (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 i risultati di una richiesta echo ICMP.Contains the results of an ICMP echo request.
PingException Generata se si verifica un errore irreversibile.Thrown if an unrecoverable error occurs.
PingCompletedEventArgs Contiene i dati associati a eventi di PingCompleted, che vengono generati quando una chiamata di SendAsync viene completata o annullata.Contains the data associated with PingCompleted events, which are raised when a SendAsync call completes or is canceled.
PingCompletedEventHandler Delegato che fornisce il metodo di callback richiamato quando una chiamata SendAsync viene completata o annullata.The delegate that provides the callback method invoked when a SendAsync call completes or is canceled.

I metodi Send e SendAsync restituiscono la risposta in un oggetto PingReply.The Send and SendAsync methods return the reply in a PingReply object. La proprietà PingReply.Status restituisce un valore IPStatus per indicare il risultato della richiesta.The PingReply.Status property returns an IPStatus value to indicate the outcome of the request.

Quando si invia la richiesta, è necessario specificare il computer remoto.When sending the request, you must specify the remote computer. A tale scopo, è possibile fornire una stringa del nome host, un indirizzo IP in formato stringa o un oggetto IPAddress.You can do this by providing a host name string, an IP address in string format, or an IPAddress object.

È inoltre possibile specificare i tipi di informazioni seguenti:You can also specify any of the following types of information:

  • Dati a cui associare la richiesta.Data to accompany the request. Specificando buffer è possibile conoscere la quantità di tempo necessaria per un pacchetto di una determinata dimensione per spostarsi da e verso l'host remoto e l'unità di trasmissione massima del percorso di rete.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. (Vedere gli overload Send o SendAsync che accettano un parametro di buffer).(See the Send or SendAsync overloads that take a buffer parameter.)

  • Indica se il pacchetto echo ICMP può essere frammentato in transito.Whether the ICMP Echo packet can be fragmented in transit. (Vedere la proprietà DontFragment e gli overload Send o SendAsync che accettano un parametro options).(See the DontFragment property and the Send or SendAsync overloads that take an options parameter.)

  • Il numero di volte che i nodi di routing, ad esempio router o gateway, possono inoltrare il pacchetto prima che raggiunga il computer di destinazione o venga eliminato.How many times routing nodes, such as routers or gateways, can forward the packet before it either reaches the destination computer or is discarded. (Vedere Ttl e gli overload Send o SendAsync che accettano un parametro options).(See Ttl and the Send or SendAsync overloads that take an options parameter.)

  • Limite di tempo entro il quale deve essere ricevuta la risposta.The time limit within which the reply must be received. (Vedere gli overload Send o SendAsync che accettano un parametro di timeout.(See the Send or SendAsync overloads that take a timeout parameter.

La classe Ping offre metodi sincroni e asincroni per l'invio della richiesta.The Ping class offers both synchronous and asynchronous methods for sending the request. Se l'applicazione deve essere bloccata in attesa di una risposta, usare i metodi di Send; questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous. Se l'applicazione non deve essere bloccata, usare i metodi di SendAsync asincroni.If your application should not block, use the asynchronous SendAsync methods. Una chiamata a SendAsync viene eseguita nel proprio thread, allocato automaticamente dal pool di thread.A call to SendAsync executes in its own thread that is automatically allocated from the thread pool. Al termine dell'operazione asincrona, viene generato l'evento PingCompleted.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano un delegato PingCompletedEventHandler per specificare il metodo chiamato per PingCompleted eventi.Applications use a PingCompletedEventHandler delegate to specify the method that is called for PingCompleted events. Prima di chiamare SendAsync, è necessario aggiungere un delegato PingCompletedEventHandler all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un oggetto PingCompletedEventArgs contenente un oggetto PingReply che descrive il risultato della chiamata SendAsync.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call.

Non è possibile usare la stessa istanza della classe Ping per generare più richieste echo ICMP simultanee.You cannot use the same instance of the Ping class to generate multiple simultaneous ICMP Echo requests. La chiamata di Send mentre è in corso una chiamata SendAsync o la chiamata di SendAsync più volte prima del completamento di tutte le chiamate precedenti causa un InvalidOperationException.Calling Send while a SendAsync call is in progress or calling SendAsync multiple times before all previous calls have completed causes an InvalidOperationException.

Costruttori

Ping()

Inizializza una nuova istanza della classe Ping.Initializes a new instance of the Ping class.

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Ereditato da Component)
Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Ereditato da Component)
DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Ereditato da Component)
Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Ereditato da Component)

Metodi

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Dispose()
Dispose(Boolean)

Rilascia le risorse non gestite usate dall'oggetto Ping ed eventualmente elimina le risorse gestite.Releases the unmanaged resources used by the Ping object, and optionally disposes of the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

Genera l'evento PingCompleted.Raises the PingCompleted event.

Send(IPAddress)

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) a un computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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)

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo metodo consente di specificare un valore di timeout per l'operazione.This method allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[])

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

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

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo overload consente di specificare un valore di timeout per l'operazione e di controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo 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)

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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)

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo metodo consente di specificare un valore di timeout per l'operazione.This method allows you to specify a time-out value for the operation.

Send(String, Int32, Byte[])

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

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

Esegue un tentativo di invio di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo overload consente di specificare un valore di timeout per l'operazione e di controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto 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)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

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

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo overload consente di specificare un valore di timeout per l'operazione e di controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo 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)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) a un computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

SendAsync(IPAddress, Object)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) a un computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer.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)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

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

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo overload consente di specificare un valore di timeout per l'operazione e di controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto 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)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

SendAsync(String, Object)

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo.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()

Annulla tutte le richieste di invio in modalità asincrona di messaggi echo ICMP (Internet Control Message Protocol) in sospeso e riceve un messaggio di risposta echo ICMP corrispondente.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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer come operazione asincrona.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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

SendPingAsync(IPAddress, Int32, Byte[])

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione e un buffer da utilizzare per inviare e ricevere.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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con il IPAddress specificato e riceve il messaggio di risposta echo ICMP corrispondente da quel computer come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione, un buffer da utilizzare per inviare, ricevere e controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo 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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo come operazione asincrona.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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione.This overload allows you to specify a time-out value for the operation.

SendPingAsync(String, Int32, Byte[])

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione e un buffer da utilizzare per inviare e ricevere.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)

Invia un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer remoto specificato e riceve il messaggio di risposta echo ICMP corrispondente da quest'ultimo come operazione asincrona.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. Questo overload consente di specificare un valore di timeout per l'operazione, un buffer da utilizzare per inviare, ricevere e controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo 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()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Ereditato da Component)

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Ereditato da Component)
PingCompleted

Si verifica quando un'operazione di l'invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) e relativa ricezione di un messaggio di risposta echo ICMP viene completata o annullata.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.

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Rilascia tutte le risorse utilizzate dalle istanze della classe Ping.Releases all resources used by instances of the Ping class.

Si applica a

Vedi anche