Condividi tramite


Ping.Send Metodo

Definizione

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) a un computer remoto e di ricevere un messaggio di risposta echo ICMP corrispondente dal computer remoto.

Overload

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

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

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

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione e controllare la frammentazione e i valori Time-to-Live per il pacchetto ICMP.

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

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer con l'oggetto specificato IPAddresse di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

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

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddress e ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione e controllare la frammentazione e i valori Time-to-Live per il pacchetto di messaggi echo ICMP.

Send(String, Int32, Byte[])

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione.

Send(IPAddress, Int32, Byte[])

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddresse ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione.

Send(String, Int32)

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo metodo consente di specificare un valore di timeout per l'operazione.

Send(IPAddress, Int32)

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddresse ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo metodo consente di specificare un valore di timeout per l'operazione.

Send(String)

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

Send(IPAddress)

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer con l'oggetto specificato IPAddresse di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

Commenti

L'indirizzo IP restituito da uno degli Send overload può provenire da un computer remoto dannoso. Non connettersi al computer remoto utilizzando questa impostazione. Usare DNS per determinare l'indirizzo IP del computer a cui connettersi.

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

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : string * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

Parametri

hostNameOrAddress
String

Oggetto String che identifica il computer che rappresenta la destinazione del messaggio echo ICMP. Il valore specificato per questo parametro può essere un nome host o una rappresentazione di stringa di un indirizzo IP.

timeout
TimeSpan

Valore che specifica la quantità massima di tempo (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

options
PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori time-to-Live per il pacchetto echo message ICMP.

Restituisce

Informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o il motivo dell'errore, se non è stato ricevuto alcun messaggio.

Eccezioni

buffero hostNameOrAddress è o hostNameOrAddress è null una stringa vuota ("").

timeout rappresenta un tempo minore di zero millisecondi o maggiore di MaxValue millisecondi.

La bufferdimensione della classe è maggiore di 65.500 byte.

È in corso una chiamata a SendAsync.

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Si applica a

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

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione e controllare la frammentazione e i valori Time-to-Live per il pacchetto ICMP.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : string * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

Parametri

hostNameOrAddress
String

Oggetto String che identifica il computer che rappresenta la destinazione del messaggio echo ICMP. Il valore specificato per questo parametro può essere un nome host o una rappresentazione di stringa di un indirizzo IP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

options
PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori time-to-Live per il pacchetto echo message ICMP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP se ne è stata ricevuta una o fornisce il motivo dell'errore se non è stato ricevuto alcun messaggio.

Eccezioni

Le dimensioni di buffer superano i 65500 byte.

hostNameOrAddress è o è null una stringa di lunghezza zero.

oppure

buffer è null.

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

.NET 7 e versioni successive solo in Linux: il processo è senza privilegi e buffer non è vuoto.

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare questo metodo.

public static void ComplexPing ()
{
    Ping pingSender = new Ping ();

    // 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 request.
    PingReply reply = pingSender.Send ("www.contoso.com", 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata TimedOutsu .

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

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. In questo caso, l'oggetto Status è impostato su PacketTooBig.

Utilizzare la Ttl proprietà per specificare il numero massimo di volte in cui il messaggio echo ICMP può essere inoltrato prima di raggiungere la destinazione. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

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

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer con l'oggetto specificato IPAddresse di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, TimeSpan timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, TimeSpan timeout, byte[]? buffer, System.Net.NetworkInformation.PingOptions? options);
member this.Send : System.Net.IPAddress * TimeSpan * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As TimeSpan, buffer As Byte(), options As PingOptions) As PingReply

Parametri

address
IPAddress

Oggetto IPAddress che identifica il computer che rappresenta la destinazione del messaggio echo ICMP.

timeout
TimeSpan

Valore che specifica la quantità massima di tempo (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

options
PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori time-to-Live per il pacchetto echo message ICMP.

Restituisce

Informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o il motivo dell'errore, se non è stato ricevuto alcun messaggio.

Eccezioni

address o buffer è null.

timeout rappresenta un tempo minore di zero millisecondi o maggiore di MaxValue millisecondi.

La bufferdimensione della classe è maggiore di 65.500 byte.

È in corso una chiamata a SendAsync.

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Si applica a

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

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddress e ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione e controllare la frammentazione e i valori Time-to-Live per il pacchetto di messaggi echo ICMP.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions? options);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

Parametri

address
IPAddress

Oggetto IPAddress che identifica il computer che rappresenta la destinazione del messaggio echo ICMP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

options
PingOptions

Oggetto PingOptions utilizzato per controllare la frammentazione e i valori time-to-Live per il pacchetto echo message ICMP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o fornisce il motivo dell'errore, se non è stato ricevuto alcun messaggio. Il metodo restituirà PacketTooBig se il pacchetto supera l'unità di trasmissione massima (MTU).

Eccezioni

Le dimensioni di buffer superano i 65500 byte.

address o buffer è null.

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

.NET 7 e versioni successive solo in Linux: il processo è senza privilegi e buffer non è vuoto.

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare questo metodo.

public static void ComplexLocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    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);
    PingReply reply = pingSender.Send (address, 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato dal timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata TimedOutsu .

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

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. In questo caso, l'oggetto Status è impostato su PacketTooBig.

Utilizzare la Ttl proprietà per specificare il numero massimo di volte in cui il messaggio echo ICMP può essere inoltrato prima di raggiungere la destinazione. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(String, Int32, Byte[])

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout, byte[] buffer);
member this.Send : string * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte()) As PingReply

Parametri

hostNameOrAddress
String

Oggetto String che identifica il computer che rappresenta la destinazione del messaggio echo ICMP. Il valore specificato per questo parametro può essere un nome host o una rappresentazione di stringa di un indirizzo IP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP se ne è stata ricevuta una o fornisce il motivo dell'errore se non è stato ricevuto alcun messaggio.

Eccezioni

Le dimensioni di buffer superano i 65500 byte.

hostNameOrAddress è o è null una stringa vuota ("").

oppure

buffer è null.

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

.NET 7 e versioni successive solo in Linux: il processo è senza privilegi e buffer non è vuoto.

Esempio

Per un esempio che illustra come chiamare un Send overload, vedere la panoramica della Ping classe.

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato nel timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata su TimedOut.

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig.

I frammenti di pacchetti o pacchetti possono essere inoltrati tramite il routing dei nodi 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(IPAddress, Int32, Byte[])

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddresse ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo overload consente di specificare un valore di timeout per l'operazione.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout, byte[] buffer);
member this.Send : System.Net.IPAddress * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte()) As PingReply

Parametri

address
IPAddress

Oggetto IPAddress che identifica il computer che rappresenta la destinazione del messaggio echo ICMP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

buffer
Byte[]

Matrice Byte che contiene i dati da inviare con il messaggio echo ICMP e restituito nel messaggio di risposta echo ICMP. La matrice non può contenere più di 65.500 byte.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o fornisce il motivo dell'errore, se non è stato ricevuto alcun messaggio. Il metodo restituirà PacketTooBig se il pacchetto supera l'unità di trasmissione massima (MTU).

Eccezioni

Le dimensioni di buffer superano i 65500 byte.

address o buffer è null.

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

.NET 7 e versioni successive solo in Linux: il processo è senza privilegi e buffer non è vuoto.

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare questo metodo.

public static void LocalPingTimeout ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    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;
    PingReply reply = pingSender.Send (address, timeout, buffer);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato nel timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata su TimedOut.

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig.

I frammenti di pacchetti o pacchetti possono essere inoltrati tramite il routing dei nodi 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(String, Int32)

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo metodo consente di specificare un valore di timeout per l'operazione.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress, int timeout);
member this.Send : string * int -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer) As PingReply

Parametri

hostNameOrAddress
String

Oggetto String che identifica il computer che rappresenta la destinazione del messaggio echo ICMP. Il valore specificato per questo parametro può essere un nome host o una rappresentazione di stringa di un indirizzo IP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP se ne è stata ricevuta una o fornisce il motivo dell'errore se non è stato ricevuto alcun messaggio.

Eccezioni

hostNameOrAddress è o è null una stringa vuota ("").

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Esempio

Per un esempio che illustra la chiamata di un Send metodo, vedere la panoramica della Ping classe.

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato nel timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata su TimedOut.

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inoltrati dai nodi di routing 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(IPAddress, Int32)

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) con il buffer di dati specificato al computer con l'oggetto specificato IPAddresse ricevere un messaggio di risposta echo ICMP corrispondente da tale computer. Questo metodo consente di specificare un valore di timeout per l'operazione.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address, int timeout);
member this.Send : System.Net.IPAddress * int -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer) As PingReply

Parametri

address
IPAddress

Oggetto IPAddress che identifica il computer che rappresenta la destinazione del messaggio echo ICMP.

timeout
Int32

Valore Int32 che specifica il numero massimo di millisecondi (dopo l'invio del messaggio echo) in attesa del messaggio di risposta echo ICMP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP se ne è stata ricevuta una o fornisce il motivo dell'errore se non è stato ricevuto alcun messaggio.

Eccezioni

address è null.

timeout è minore di zero.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Esempio

Per un esempio che illustra la chiamata di un Send metodo, vedere la panoramica della Ping classe.

Commenti

Se il messaggio di risposta echo ICMP non viene ricevuto entro il tempo specificato nel timeout parametro , l'eco ICMP ha esito negativo e la Status proprietà è impostata su TimedOut.

Annotazioni

Quando si specificano numeri molto piccoli per timeout, la risposta ping può essere ricevuta anche se timeout sono trascorsi millisecondi.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig.

I frammenti di pacchetti o pacchetti possono essere inoltrati tramite il routing dei nodi 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(String)

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer specificato e di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress);
public System.Net.NetworkInformation.PingReply Send(string hostNameOrAddress);
member this.Send : string -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String) As PingReply

Parametri

hostNameOrAddress
String

Oggetto String che identifica il computer che rappresenta la destinazione del messaggio echo ICMP. Il valore specificato per questo parametro può essere un nome host o una rappresentazione di stringa di un indirizzo IP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o fornisce il motivo dell'errore, se non è stato ricevuto alcun messaggio.

Eccezioni

hostNameOrAddress è o è null una stringa vuota ("").

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Esempio

Nell'esempio di codice seguente viene illustrata la chiamata a questo metodo.

public static void SimplePing ()
{
    Ping pingSender = new Ping ();
    PingReply reply = pingSender.Send ("www.contoso.com");

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Commenti

Questo metodo invia un buffer di dati 32 Byte con il messaggio echo ICMP. Il metodo attende cinque secondi per un messaggio di risposta echo ICMP. Se non riceve una risposta in quel momento, il metodo restituisce e la Status proprietà è impostata su TimedOut.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inoltrati dai nodi di routing 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a

Send(IPAddress)

Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs
Origine:
Ping.cs

Tenta di inviare un messaggio echo ICMP (Internet Control Message Protocol) al computer con l'oggetto specificato IPAddresse di ricevere un messaggio di risposta echo ICMP corrispondente da tale computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address);
public System.Net.NetworkInformation.PingReply Send(System.Net.IPAddress address);
member this.Send : System.Net.IPAddress -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress) As PingReply

Parametri

address
IPAddress

Oggetto IPAddress che identifica il computer che rappresenta la destinazione del messaggio echo ICMP.

Restituisce

Oggetto PingReply che fornisce informazioni sul messaggio di risposta echo ICMP, se ne è stato ricevuto uno o descrive il motivo dell'errore se non è stato ricevuto alcun messaggio.

Eccezioni

address è null.

È in corso una chiamata a SendAsync .

Eccezione generata durante l'invio o la ricezione dei messaggi ICMP. Vedere l'eccezione interna per l'eccezione esatta generata.

Questo oggetto è stato eliminato.

Esempio

Nell'esempio di codice seguente viene illustrata la chiamata a questo metodo.

public static void LocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;
    PingReply reply = pingSender.Send (address);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

Commenti

Questo metodo invia all'host specificato da address un buffer di dati 32 Byte con il messaggio echo ICMP. Il metodo attende cinque secondi per un messaggio di risposta echo ICMP. Se non riceve una risposta in quel momento, il metodo restituisce e la Status proprietà è impostata su TimedOut.

Questo overload usa le impostazioni predefinite per la frammentazione dei pacchetti e l'inoltro di pacchetti. 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. Per evitare la frammentazione, utilizzare uno dei Send metodi che accettano un options parametro e impostare la DontFragment proprietà su 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. In questo caso, l'oggetto Status è impostato su PacketTooBig. I frammenti di pacchetti o pacchetti (se frammentati) possono essere inoltrati dai nodi di routing 128 volte prima di essere eliminati. Per modificare questa impostazione, usare un overload che accetta un Sendoptions parametro e impostare la Ttl proprietà sul valore desiderato. Se il pacchetto non raggiunge la destinazione dopo l'inoltro del numero specificato di volte, il pacchetto viene rimosso e la richiesta echo ICMP ha esito negativo. In questo caso, l'oggetto Status è impostato su TtlExpired.

Si applica a