Partilhar via


Ping.Send Método

Definição

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para um computador remoto e receber uma mensagem de resposta de eco ICMP correspondente do computador remoto.

Sobrecargas

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

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controlar a fragmentação e valores de vida útil para o pacote ICMP.

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

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador que tem o especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador que tem a mensagem de resposta de eco ICMP especificada IPAddress e recebe um ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controle de fragmentação e valores de vida útil para o pacote de mensagem de eco ICMP.

Send(String, Int32, Byte[])

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.

Send(IPAddress, Int32, Byte[])

Tenta enviar uma mensagem de eco ICMP (Internet Control Message Protocol) com o buffer de dados especificado para o computador que tem o computador especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.

Send(String, Int32)

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Esse método permite que você especifique um valor de tempo limite para a operação.

Send(IPAddress, Int32)

Tenta enviar uma mensagem de eco ICMP (Internet Control Message Protocol) com o buffer de dados especificado para o computador que tem o computador especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador. Esse método permite que você especifique um valor de tempo limite para a operação.

Send(String)

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador.

Send(IPAddress)

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador que tem o computador especificado IPAddresse recebe uma mensagem de resposta de eco ICMP correspondente desse computador.

Comentários

O endereço IP retornado por qualquer uma das Send sobrecargas pode se originar de um computador remoto mal-intencionado. Não se conecte ao computador remoto usando isso. Use o DNS para determinar o endereço IP do computador ao qual você deseja se conectar.

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

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Parâmetros

hostNameOrAddress
String

Um String que identifica o computador que é o destino da mensagem de eco ICMP. O valor especificado para esse parâmetro pode ser um nome de host ou uma representação de cadeia de caracteres de um endereço IP.

timeout
TimeSpan

Um valor que especifica o tempo máximo (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

options
PingOptions

Um PingOptions objeto usado para controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.

Retornos

Informações sobre a mensagem de resposta de eco ICMP, se uma foi recebida ou o motivo da falha, se nenhuma mensagem foi recebida.

Exceções

bufferou hostNameOrAddress é ou hostNameOrAddress é null uma cadeia de caracteres vazia ("").

timeout representa um tempo menor que zero milissegundos ou maior que MaxValue milissegundos.

O buffertamanho é maior que 65.500 bytes.

Uma chamada para SendAsync está em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Aplica-se a

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

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controlar a fragmentação e valores de vida útil para o pacote 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

Parâmetros

hostNameOrAddress
String

Um String que identifica o computador que é o destino da mensagem de eco ICMP. O valor especificado para esse parâmetro pode ser um nome de host ou uma representação de cadeia de caracteres de um endereço IP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

options
PingOptions

Um PingOptions objeto usado para controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP se um foi recebido ou fornece o motivo da falha se nenhuma mensagem foi recebida.

Exceções

O tamanho excede buffer 65500 bytes.

hostNameOrAddress é null ou é uma cadeia de caracteres de comprimento zero.

- ou -

buffer é null.

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

.NET 7 e versões posteriores somente no Linux: o processo não tem privilégios e buffer não está vazio.

Exemplos

O exemplo de código a seguir demonstra como chamar esse método.

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

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado pelo timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Se a DontFragment propriedade for true e o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como PacketTooBig.

Use a Ttl propriedade para especificar o número máximo de vezes que a mensagem de eco ICMP pode ser encaminhada antes de chegar ao destino. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

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

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador que tem o especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Parâmetros

address
IPAddress

Um IPAddress que identifica o computador que é o destino da mensagem de eco ICMP.

timeout
TimeSpan

Um valor que especifica o tempo máximo (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

options
PingOptions

Um PingOptions objeto usado para controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.

Retornos

Informações sobre a mensagem de resposta de eco ICMP, se uma foi recebida ou o motivo da falha, se nenhuma mensagem foi recebida.

Exceções

address ou buffer é null.

timeout representa um tempo menor que zero milissegundos ou maior que MaxValue milissegundos.

O buffertamanho é maior que 65.500 bytes.

Uma chamada para SendAsync está em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Aplica-se a

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

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador que tem a mensagem de resposta de eco ICMP especificada IPAddress e recebe um ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação e controle de fragmentação e valores de vida útil para o pacote de mensagem de eco 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

Parâmetros

address
IPAddress

Um IPAddress que identifica o computador que é o destino da mensagem de eco ICMP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

options
PingOptions

Um PingOptions objeto usado para controlar a fragmentação e valores de vida útil para o pacote de mensagens de eco ICMP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP, se um foi recebido ou fornece o motivo da falha, se nenhuma mensagem foi recebida. O método será retornado PacketTooBig se o pacote exceder a MTU (Unidade de Transmissão Máxima).

Exceções

O tamanho excede buffer 65500 bytes.

address ou buffer é null.

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

.NET 7 e versões posteriores somente no Linux: o processo não tem privilégios e buffer não está vazio.

Exemplos

O exemplo de código a seguir demonstra como chamar esse método.

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

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado pelo timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Se a DontFragment propriedade for true e o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como PacketTooBig.

Use a Ttl propriedade para especificar o número máximo de vezes que a mensagem de eco ICMP pode ser encaminhada antes de chegar ao destino. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(String, Int32, Byte[])

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) com o buffer de dados especificado para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.

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

Parâmetros

hostNameOrAddress
String

Um String que identifica o computador que é o destino da mensagem de eco ICMP. O valor especificado para esse parâmetro pode ser um nome de host ou uma representação de cadeia de caracteres de um endereço IP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP se um foi recebido ou fornece o motivo da falha se nenhuma mensagem foi recebida.

Exceções

O tamanho excede buffer 65500 bytes.

hostNameOrAddress é null ou é uma cadeia de caracteres vazia ("").

- ou -

buffer é null.

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

.NET 7 e versões posteriores somente no Linux: o processo não tem privilégios e buffer não está vazio.

Exemplos

Para obter um exemplo que demonstra como chamar uma Send sobrecarga, consulte a visão geral da Ping classe.

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado no timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig.

Os fragmentos de pacote ou pacote podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(IPAddress, Int32, Byte[])

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Internet Control Message Protocol) com o buffer de dados especificado para o computador que tem o computador especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador. Essa sobrecarga permite que você especifique um valor de tempo limite para a operação.

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

Parâmetros

address
IPAddress

Um IPAddress que identifica o computador que é o destino da mensagem de eco ICMP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

buffer
Byte[]

Uma Byte matriz que contém dados a serem enviados com a mensagem de eco ICMP e retornados na mensagem de resposta de eco ICMP. A matriz não pode conter mais de 65.500 bytes.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP, se um foi recebido ou fornece o motivo da falha, se nenhuma mensagem foi recebida. O método será retornado PacketTooBig se o pacote exceder a MTU (Unidade de Transmissão Máxima).

Exceções

O tamanho excede buffer 65500 bytes.

address ou buffer é null.

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

.NET 7 e versões posteriores somente no Linux: o processo não tem privilégios e buffer não está vazio.

Exemplos

O exemplo de código a seguir demonstra como chamar esse método.

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

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado no timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig.

Os fragmentos de pacote ou pacote podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(String, Int32)

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador. Esse método permite que você especifique um valor de tempo limite para a operação.

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

Parâmetros

hostNameOrAddress
String

Um String que identifica o computador que é o destino da mensagem de eco ICMP. O valor especificado para esse parâmetro pode ser um nome de host ou uma representação de cadeia de caracteres de um endereço IP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP se um foi recebido ou fornece o motivo da falha se nenhuma mensagem foi recebida.

Exceções

hostNameOrAddress é null ou é uma cadeia de caracteres vazia ("").

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Exemplos

Para obter um exemplo que demonstra a chamada de um Send método, consulte a visão geral da Ping classe.

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado no timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig. Os fragmentos de pacote ou pacote (se fragmentados) podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(IPAddress, Int32)

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Internet Control Message Protocol) com o buffer de dados especificado para o computador que tem o computador especificado IPAddresse receber uma mensagem de resposta de eco ICMP correspondente desse computador. Esse método permite que você especifique um valor de tempo limite para a operação.

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

Parâmetros

address
IPAddress

Um IPAddress que identifica o computador que é o destino da mensagem de eco ICMP.

timeout
Int32

Um Int32 valor que especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco ICMP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP se um foi recebido ou fornece o motivo da falha se nenhuma mensagem foi recebida.

Exceções

address é null.

timeout é menor que zero.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Exemplos

Para obter um exemplo que demonstra a chamada de um Send método, consulte a visão geral da Ping classe.

Comentários

Se a mensagem de resposta de eco ICMP não for recebida dentro do tempo especificado no timeout parâmetro, o eco ICMP falhará e a Status propriedade será definida como TimedOut.

Observação

Ao especificar números muito pequenos, timeouta resposta ping pode ser recebida mesmo se timeout milissegundos tiverem decorrido.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig.

Os fragmentos de pacote ou pacote podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(String)

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador especificado e receber uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Parâmetros

hostNameOrAddress
String

Um String que identifica o computador que é o destino da mensagem de eco ICMP. O valor especificado para esse parâmetro pode ser um nome de host ou uma representação de cadeia de caracteres de um endereço IP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP, se um foi recebido ou fornece o motivo da falha, se nenhuma mensagem foi recebida.

Exceções

hostNameOrAddress é null ou é uma cadeia de caracteres vazia ("").

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Exemplos

O exemplo de código a seguir demonstra a chamada desse método.

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

Comentários

Esse método envia um buffer de dados 32 Byte com a mensagem de eco ICMP. O método aguarda cinco segundos por uma mensagem de resposta de eco ICMP. Se ele não receber uma resposta nesse período, o método retornará e a Status propriedade será definida como TimedOut.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig. Os fragmentos de pacote ou pacote (se fragmentados) podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a

Send(IPAddress)

Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs
Origem:
Ping.cs

Tenta enviar uma mensagem de eco ICMP (Protocolo de Mensagem de Controle de Internet) para o computador que tem o computador especificado IPAddresse recebe uma mensagem de resposta de eco ICMP correspondente desse computador.

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

Parâmetros

address
IPAddress

Um IPAddress que identifica o computador que é o destino da mensagem de eco ICMP.

Retornos

Um PingReply objeto que fornece informações sobre a mensagem de resposta de eco ICMP, se um foi recebido ou descreve o motivo da falha se nenhuma mensagem foi recebida.

Exceções

address é null.

Uma chamada está SendAsync em andamento.

Uma exceção foi gerada ao enviar ou receber as mensagens ICMP. Consulte a exceção interna para obter a exceção exata que foi gerada.

Este objeto foi descartado.

Exemplos

O exemplo de código a seguir demonstra a chamada desse método.

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

Comentários

Esse método envia para o host especificado por address um buffer de dados 32 Byte com a mensagem de eco ICMP. O método aguarda cinco segundos por uma mensagem de resposta de eco ICMP. Se ele não receber uma resposta nesse período, o método retornará e a Status propriedade será definida como TimedOut.

Essa sobrecarga usa as configurações padrão para fragmentação de pacotes e encaminhamento de pacotes. O pacote que contém a mensagem de eco ICMP poderá ser fragmentado em trânsito se o tamanho total do pacote exceder o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos. Para evitar a fragmentação, use um dos Send métodos que usa um options parâmetro e defina a DontFragment propriedade como true. Quando DontFragment é true e o tamanho total do pacote excede o tamanho máximo do pacote que pode ser transmitido por um dos nós de roteamento entre os computadores locais e remotos, a solicitação de eco ICMP falha. Quando isso acontece, o Status conjunto é definido como PacketTooBig. Os fragmentos de pacote ou pacote (se fragmentados) podem ser encaminhados roteando nós 128 vezes antes de serem descartados. Para alterar essa configuração, use uma Send sobrecarga que usa um options parâmetro e defina a Ttl propriedade como o valor desejado. Se o pacote não chegar ao seu destino depois de ser encaminhado o número especificado de vezes, o pacote será descartado e a solicitação de eco ICMP falhará. Quando isso acontece, o Status conjunto é definido como TtlExpired.

Aplica-se a