Ping.SendAsync Ping.SendAsync Ping.SendAsync Ping.SendAsync Method

Definizione

Esegue un tentativo di invio in modalità asincrona di un messaggio echo ICMP (Internet Control Message Protocol) a un computer remoto e riceve il messaggio di risposta echo ICMP corrispondente dal quel computer.Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message to a computer, and receive a corresponding ICMP echo reply message from that computer.

Overload

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

SendAsync(IPAddress, Object) SendAsync(IPAddress, Object) SendAsync(IPAddress, Object) 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, Object) SendAsync(String, Int32, Object) SendAsync(String, Int32, Object) 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.

Commenti

Questi metodi non determinano il blocco del thread principale dell'applicazione.These methods do not cause your application's main thread to block. Se si desidera bloccare in attesa del messaggio di risposta echo ICMP, utilizzare i Send metodi.If you want to block while waiting for the ICMP echo reply message, use the Send methods.

Nota

L'indirizzo IP restituito da uno qualsiasi dei SendAsync metodi può provenire da un computer remoto dannoso.The IP address returned by any of the SendAsync methods can originate from a malicious remote computer. Non connettersi al computer remoto utilizzando questo.Do not connect to the remote computer using this. Usare DNS per determinare l'indirizzo IP del computer a cui si vuole connettersi.Use DNS to determine the IP address of the machine to which you want to connect.

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

public:
 void SendAsync(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options, object userToken);
member this.SendAsync : string * int * byte[] * System.Net.NetworkInformation.PingOptions * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions, userToken As Object)

Parametri

hostNameOrAddress
String String String String

Oggetto String che identifica il computer di destinazione del messaggio echo ICMP.A String that identifies the computer that is the destination for the ICMP echo message. Il valore specificato per il parametro può essere un nome host o una rappresentazione in forma di stringa di un indirizzo IP.The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32 Int32 Int32 Int32

Matrice Byte contenente i dati da inviare con il messaggio echo ICMP e restituiti nel messaggio di risposta echo ICMP.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. La matrice non può contenere più di 65.500 byte.The array cannot contain more than 65,500 bytes.

buffer
Byte[]

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

options
PingOptions PingOptions PingOptions PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo ICMP.A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

hostNameOrAddress è null o è una stringa vuota ("").hostNameOrAddress is null or is an empty string ("").

In alternativa-or- buffer è null.buffer is null.

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

Non è possibile risolvere hostNameOrAddress in un indirizzo IP valido.hostNameOrAddress could not be resolved to a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Le dimensioni di buffer superano i 65.500 byte.The size of buffer exceeds 65500 bytes.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come chiamare questo metodo.The following code example demonstrates how to call this method.

#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

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the Echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application must not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano PingCompletedEventHandler un delegato per specificare il metodo chiamato quando SendAsync genera l'evento.Applications use a PingCompletedEventHandler delegate to specify the method that is called when SendAsync raises the event. Prima di chiamare SendAsync, PingCompletedEventHandler è necessario aggiungere un delegato all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Se l'applicazione deve essere bloccata in attesa di una risposta, usare Send i metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Se la DontFragment proprietà è true e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig.

Utilizzare la Ttl proprietà per specificare il numero massimo di volte in cui il messaggio echo ICMP può essere inviato prima di raggiungere la destinazione.Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

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

public:
 void SendAsync(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options, object userToken);
member this.SendAsync : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions, userToken As Object)

Parametri

address
IPAddress IPAddress IPAddress IPAddress

Oggetto IPAddress che identifica il computer di destinazione del messaggio echo ICMP.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32 Int32 Int32 Int32

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Matrice Byte contenente i dati da inviare con il messaggio echo ICMP e restituiti nel messaggio di risposta echo ICMP.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. La matrice non può contenere più di 65.500 byte.The array cannot contain more than 65,500 bytes.

options
PingOptions PingOptions PingOptions PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori TTL (Time-to-Live) per il pacchetto del messaggio echo ICMP.A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

address è null.address is null.

-oppure--or- buffer è null.buffer is null.

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

address non è un indirizzo IP valido.address is not a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Le dimensioni di buffer superano i 65.500 byte.The size of buffer exceeds 65500 bytes.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come chiamare questo metodo.The following code example demonstrates how to call this method. Per un'implementazione del metodo di callback, vedere la SendAsync sezione esempio di overload del metodo.For an implementation of the callback method, see the SendAsync method overload example section.

L'esempio di codice seguente richiede gli spazi dei nomi seguenti:The following code example requires the following namespaces:

#using <System.dll>

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

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading;

Nell'esempio di codice seguente viene inviato un messaggio echo ICMP in modo asincrono.The following code example sends an ICMP echo message asynchronously.

void AsyncComplexLocalPing()
{
   
   // Get an object that will block the main thread.
   AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   
   // When the PingCompleted event is raised,
   // the PingCompletedCallback method is called.
   pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   
   // 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 );
   
   // Send the ping asynchronously.
   // Use the waiter as the user token.
   // When the callback completes, it can wake up this thread.
   pingSender->SendAsync( address, 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." );
}


public static void AsyncComplexLocalPing ()
{
    // Get an object that will block the main thread.
    AutoResetEvent waiter = new AutoResetEvent (false);

    // Ping's the local machine.
    Ping pingSender = new Ping ();

    // When the PingCompleted event is raised,
    // the PingCompletedCallback method is called.
    pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);

    IPAddress address = IPAddress.Loopback;

    // Create a buffer of 32 bytes of data to be transmitted.
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    byte[] buffer = Encoding.ASCII.GetBytes (data);

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // 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);

    // Send the ping asynchronously.
    // Use the waiter as the user token.
    // When the callback completes, it can wake up this thread.
    pingSender.SendAsync (address, 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.");
}

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the Echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application must not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano PingCompletedEventHandler un delegato per specificare il metodo chiamato quando SendAsync genera l'evento.Applications use a PingCompletedEventHandler delegate to specify the method that is called when SendAsync raises the event. Prima di chiamare SendAsync, PingCompletedEventHandler è necessario aggiungere un delegato all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Se l'applicazione si blocca durante l'attesa di una risposta, Send utilizzare i metodi. questi metodi sono sincroni.If your application blocks while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Se la DontFragment proprietà è true e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig.

Utilizzare la Ttl proprietà per specificare il numero massimo di volte in cui il messaggio echo ICMP può essere inviato prima di raggiungere la destinazione.Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(String, Int32, Byte[], Object) SendAsync(String, Int32, Byte[], Object) SendAsync(String, Int32, Byte[], Object) 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.

public:
 void SendAsync(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, byte[] buffer, object userToken);
member this.SendAsync : string * int * byte[] * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), userToken As Object)

Parametri

hostNameOrAddress
String String String String

Oggetto String che identifica il computer di destinazione del messaggio echo ICMP.A String that identifies the computer that is the destination for the ICMP echo message. Il valore specificato per il parametro può essere un nome host o una rappresentazione in forma di stringa di un indirizzo IP.The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32 Int32 Int32 Int32

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Matrice Byte contenente i dati da inviare con il messaggio echo ICMP e restituiti nel messaggio di risposta echo ICMP.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. La matrice non può contenere più di 65.500 byte.The array cannot contain more than 65,500 bytes.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

hostNameOrAddress è null o è una stringa vuota ("").hostNameOrAddress is null or is an empty string ("").

-oppure--or- buffer è null.buffer is null.

hostNameOrAddress è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.hostNameOrAddress is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

Non è possibile risolvere hostNameOrAddress in un indirizzo IP valido.hostNameOrAddress could not be resolved to a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Le dimensioni di buffer superano i 65.500 byte.The size of buffer exceeds 65500 bytes.

Esempi

Nell'esempio di codice seguente viene illustrato come chiamare SendAsync un overload, vedere Ping Cenni preliminari sulla classe.The following code example demonstrates how to call a SendAsync overload, see the Ping class overview.

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the Echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano PingCompletedEventHandler un delegato per specificare il metodo chiamato quando SendAsync genera l'evento.Applications use a PingCompletedEventHandler delegate to specify the method that is called when SendAsync raises the event. Prima di chiamare SendAsync, PingCompletedEventHandler è necessario aggiungere un delegato all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object containing a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Se l'applicazione deve essere bloccata in attesa di una risposta, usare Send i metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(IPAddress, Int32, Byte[], Object) SendAsync(IPAddress, Int32, Byte[], Object) SendAsync(IPAddress, Int32, Byte[], Object) 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.

public:
 void SendAsync(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, byte[] buffer, object userToken);
member this.SendAsync : System.Net.IPAddress * int * byte[] * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, buffer As Byte(), userToken As Object)

Parametri

address
IPAddress IPAddress IPAddress IPAddress

Oggetto IPAddress che identifica il computer di destinazione del messaggio echo ICMP.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32 Int32 Int32 Int32

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

Matrice Byte contenente i dati da inviare con il messaggio echo ICMP e restituiti nel messaggio di risposta echo ICMP.A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. La matrice non può contenere più di 65.500 byte.The array cannot contain more than 65,500 bytes.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

address è null.address is null.

In alternativa-or- buffer è null.buffer is null.

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

address non è un indirizzo IP valido.address is not a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Le dimensioni di buffer superano i 65.500 byte.The size of buffer exceeds 65500 bytes.

Esempi

Per un esempio di codice che illustri la SendAsync chiamata a un overload Ping , vedere la panoramica della classe.For a code example that demonstrates calling a SendAsync overload, see the Ping class overview.

Commenti

Questo metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.This method sends the echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Per specificare il metodo che viene chiamato quando SendAsync genera l'evento, è necessario aggiungere un PingCompletedEventHandler delegato all'evento prima di chiamare SendAsync.To specify the method that is called when SendAsync raises the event, you must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Nota

Se l'applicazione si blocca durante l'attesa di una risposta, Send utilizzare i metodi. questi metodi sono sincroni.If your application blocks while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(IPAddress, Int32, Object) SendAsync(IPAddress, Int32, Object) SendAsync(IPAddress, Int32, Object) 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.

public:
 void SendAsync(System::Net::IPAddress ^ address, int timeout, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, int timeout, object userToken);
member this.SendAsync : System.Net.IPAddress * int * obj -> unit
Public Sub SendAsync (address As IPAddress, timeout As Integer, userToken As Object)

Parametri

address
IPAddress IPAddress IPAddress IPAddress

Oggetto IPAddress che identifica il computer di destinazione del messaggio echo ICMP.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32 Int32 Int32 Int32

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

address non è un indirizzo IP valido.address is not a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Esempi

Per un esempio di codice che illustri la SendAsync chiamata a un overload Ping , vedere la panoramica della classe.For a code example that demonstrates calling a SendAsync overload, see the Ping class overview.

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the Echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano PingCompletedEventHandler un delegato per specificare il metodo chiamato quando SendAsync genera l'evento.Applications use a PingCompletedEventHandler delegate to specify the method that is called when SendAsync raises the event. Prima di chiamare SendAsync, PingCompletedEventHandler è necessario aggiungere un delegato all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Se l'applicazione deve essere bloccata in attesa di una risposta, usare Send i metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(String, Object) SendAsync(String, Object) SendAsync(String, Object) 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.

public:
 void SendAsync(System::String ^ hostNameOrAddress, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, object userToken);
member this.SendAsync : string * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, userToken As Object)

Parametri

hostNameOrAddress
String String String String

Oggetto String che identifica il computer di destinazione del messaggio echo ICMP.A String that identifies the computer that is the destination for the ICMP echo message. Il valore specificato per il parametro può essere un nome host o una rappresentazione in forma di stringa di un indirizzo IP.The value specified for this parameter can be a host name or a string representation of an IP address.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

hostNameOrAddress è null o è una stringa vuota ("").hostNameOrAddress is null or is an empty string ("").

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

Non è possibile risolvere hostNameOrAddress in un indirizzo IP valido.hostNameOrAddress could not be resolved to a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Esempi

Per un esempio di codice che illustri la SendAsync chiamata al metodo, Ping vedere Cenni preliminari sulla classe.For a code example that demonstrates calling the SendAsync method, see the Ping class overview.

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata a questo metodo viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call to this method executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Per specificare il metodo che viene chiamato quando SendAsync genera l'evento, è necessario aggiungere un PingCompletedEventHandler delegato all'evento prima di chiamare SendAsync.To specify the method that is called when SendAsync raises the event, you must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Nota

Se l'applicazione deve essere bloccata in attesa di una risposta, usare Send i metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous.

Questo metodo invia un buffer Byte di dati 32 con il messaggio echo ICMP.This method sends a 32 Byte data buffer with the ICMP echo message. Il metodo attende cinque secondi per un messaggio di risposta echo ICMP.The method waits five seconds for an ICMP echo reply message. Se non riceve una risposta in quel momento, il metodo restituisce e la Status proprietà viene impostata su. TimedOutIf it does not receive a reply in that time the method returns and the Status property is set to TimedOut.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig.

I frammenti di pacchetti o pacchetti possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(IPAddress, Object) SendAsync(IPAddress, Object) SendAsync(IPAddress, Object) 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.

public:
 void SendAsync(System::Net::IPAddress ^ address, System::Object ^ userToken);
public void SendAsync (System.Net.IPAddress address, object userToken);
member this.SendAsync : System.Net.IPAddress * obj -> unit
Public Sub SendAsync (address As IPAddress, userToken As Object)

Parametri

address
IPAddress IPAddress IPAddress IPAddress

Oggetto IPAddress che identifica il computer di destinazione del messaggio echo ICMP.An IPAddress that identifies the computer that is the destination for the ICMP echo message.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

È in corso una chiamata al metodo SendAsync.A call to the SendAsync method is in progress.

address è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

address non è un indirizzo IP valido.address is not a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Esempi

Per un esempio di codice che illustri la SendAsync chiamata a un metodo Ping , vedere Cenni preliminari sulla classe.For a code example that demonstrates calling a SendAsync method, see the Ping class overview.

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata a questo metodo viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call to this method executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Per specificare il metodo che viene chiamato quando SendAsync genera l'evento, è necessario aggiungere un PingCompletedEventHandler delegato all'evento prima di chiamare SendAsync.To specify the method that is called when SendAsync raises the event, you must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Nota

Se l'applicazione deve essere bloccata in attesa di una risposta, usare uno dei Send metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use one of the Send methods; these methods are synchronous.

Questo metodo invia un buffer Byte di dati 32 con il messaggio echo ICMP.This method sends a 32 Byte data buffer with the ICMP echo message. Il metodo attende cinque secondi per un messaggio di risposta echo ICMP.The method waits five seconds for an ICMP echo reply message. Se non riceve una risposta in quel momento, il metodo restituisce e la Status proprietà viene impostata su. TimedOutIf it does not receive a reply in that time, the method returns and the Status property is set to TimedOut.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig.

I frammenti di pacchetti o pacchetti possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

SendAsync(String, Int32, Object) SendAsync(String, Int32, Object) SendAsync(String, Int32, Object) 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.

public:
 void SendAsync(System::String ^ hostNameOrAddress, int timeout, System::Object ^ userToken);
public void SendAsync (string hostNameOrAddress, int timeout, object userToken);
member this.SendAsync : string * int * obj -> unit
Public Sub SendAsync (hostNameOrAddress As String, timeout As Integer, userToken As Object)

Parametri

hostNameOrAddress
String String String String

Oggetto String che identifica il computer di destinazione del messaggio echo ICMP.A String that identifies the computer that is the destination for the ICMP echo message. Il valore specificato per il parametro può essere un nome host o una rappresentazione in forma di stringa di un indirizzo IP.The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32 Int32 Int32 Int32

Valore Int32 che specifica il numero massimo di millisecondi durante i quali attendere il messaggio di risposta echo ICMP dopo l'invio del messaggio echo.An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

userToken
Object Object Object Object

Oggetto passato al metodo richiamato al completamento dell'operazione asincrona.An object that is passed to the method invoked when the asynchronous operation completes.

Eccezioni

hostNameOrAddress è null o è una stringa vuota ("").hostNameOrAddress is null or is an empty string ("").

hostNameOrAddress è un indirizzo IPv6 e il computer locale esegue un sistema operativo precedente a Windows 2000.hostNameOrAddress is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

È stata generata un'eccezione durante l'invio o la ricezione di messaggi ICMP.An exception was thrown while sending or receiving the ICMP messages. Per conoscere l'eccezione esatta generata, vedere l'eccezione interna.See the inner exception for the exact exception that was thrown.

Non è possibile risolvere hostNameOrAddress in un indirizzo IP valido.hostNameOrAddress could not be resolved to a valid IP address.

L'oggetto è stato eliminato.This object has been disposed.

Esempi

Per un esempio di codice che illustri la SendAsync chiamata al metodo, Ping vedere Cenni preliminari sulla classe.For a code example that demonstrates calling the SendAsync method, see the Ping class overview.

Commenti

Il SendAsync metodo invia il messaggio echo in modo asincrono e, quando l'operazione viene completata (con esito positivo o negativo), restituisce lo stato all'applicazione.The SendAsync method sends the Echo message asynchronously and, when the operation completes (successfully or unsuccessfully), returns the status to your application. Chiamare il SendAsync metodo quando l'applicazione non deve essere bloccata.Call the SendAsync method when your application should not block. Ogni chiamata viene eseguita in un thread separato allocato automaticamente dal pool di thread.Each call executes in a separate thread that is automatically allocated from the thread pool. Quando l'operazione asincrona viene completata, genera l' PingCompleted evento.When the asynchronous operation completes, it raises the PingCompleted event. Le applicazioni utilizzano PingCompletedEventHandler un delegato per specificare il metodo chiamato quando SendAsync genera l'evento.Applications use a PingCompletedEventHandler delegate to specify the method that is called when SendAsync raises the event. Prima di chiamare SendAsync, PingCompletedEventHandler è necessario aggiungere un delegato all'evento.You must add a PingCompletedEventHandler delegate to the event before calling SendAsync. Il metodo del delegato riceve un PingCompletedEventArgs oggetto contenente un PingReply oggetto che SendAsync descrive il risultato della chiamata.The delegate's method receives a PingCompletedEventArgs object that contains a PingReply object that describes the result of the SendAsync call. L' PingCompletedEventArgs oggetto eredita la UserState proprietà.The PingCompletedEventArgs object inherits the UserState property. Questa proprietà contiene l' userToken oggetto passato SendAsync nella chiamata.This property contains the userToken object passed into the SendAsync call.

Se l'applicazione deve essere bloccata in attesa di una risposta, usare Send i metodi. questi metodi sono sincroni.If your application should block while waiting for a reply, use the Send methods; these methods are synchronous.

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro, l'eco ICMP ha esito negativo Status e la proprietà viene TimedOutimpostata su.If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

Nota

Quando si specificano numeri molto timeoutpiccoli per, la risposta al ping può essere timeout ricevuta anche se i millisecondi sono trascorsi.When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

Questo overload usa le impostazioni predefinite per la frammentazione e l'invio di pacchetti.This overload uses default settings for packet fragmentation and packet forwarding. Il pacchetto che contiene il messaggio echo ICMP può essere frammentato in transito se la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti.The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. Per evitare la SendAsync frammentazione, usare uno dei metodi che accetta un options parametro e impostare la DontFragment proprietà su true.To prevent fragmentation, use one of the SendAsync methods that takes an options parameter, and set the DontFragment property to true. Quando DontFragment ètrue e la dimensione totale del pacchetto supera la dimensione massima del pacchetto che può essere trasmessa da uno dei nodi di routing tra i computer locali e remoti, la richiesta echo ICMP ha esito negativo.When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto PacketTooBigè impostato su.When this happens, the Status is set to PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inviati dai nodi di routing 128 volte prima di essere rimossi.The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. Per modificare questa impostazione, usare un SendAsync overload che accetta un options parametro e impostare la Ttl proprietà sul valore desiderato.To change this setting, use a SendAsync overload that takes an options parameter, and set the Ttl property to the desired value. Se il pacchetto non raggiunge la destinazione dopo l'invio del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP non riesce.If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. Quando si verifica questa situazione Status , l'oggetto TtlExpiredè impostato su.When this happens, the Status is set to TtlExpired.

Sicurezza

NetworkInformationPermission
Per inviare un messaggio echo ICMP.To send an ICMP echo message. Enumerazione associata:PingAssociated enumeration: Ping

Si applica a