PingOptions Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Usado para controlar como Ping os pacotes de dados são transmitidos.
public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
- Herança
-
PingOptions
Exemplos
O exemplo de código a seguir usa as PingPingOptions classes e PingReply as classes para enviar uma solicitação de eco ICMP para o host especificado na linha de comando.
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
namespace Examples.System.Net.NetworkInformation.PingTest
{
public class PingExample
{
// args[0] can be an IPaddress or host name.
public static void Main (string[] args)
{
Ping pingSender = new Ping ();
PingOptions options = new PingOptions ();
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
int timeout = 120;
PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
}
}
}
}
open System.Net.NetworkInformation
open System.Text
// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
let pingSender = new Ping()
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
let options = PingOptions()
options.DontFragment <- true
// Create a buffer of 32 bytes of data to be transmitted.
let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
let buffer = Encoding.ASCII.GetBytes data
let timeout = 120
let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)
match reply.Status with
| IPStatus.Success ->
printfn "Address: %O" reply.Address
printfn "RoundTrip time: %d" reply.RoundtripTime
printfn "Time to live: %d" reply.Options.Ttl
printfn "Don't fragment: %b" reply.Options.DontFragment
printfn "Buffer size: %d" reply.Buffer.Length
0
| _ ->
eprintfn "Error sending ping: %O" reply
eprintfn "Error was: %O" reply.Status
1
Comentários
A PingOptions classe fornece as propriedades e DontFragment as propriedades para controlar como os Ttl pacotes de solicitação de eco ICMP (Protocolo de Mensagem de Controle de Internet) são transmitidos.
A Ttl propriedade especifica a vida útil dos pacotes enviados pela Ping classe. Esse valor indica o número de nós de roteamento que podem encaminhar um Ping pacote antes de ser descartado. Definir essa opção será útil se você quiser testar o número de encaminhamentos, também conhecidos como saltos, necessários para enviar um pacote de um computador de origem para um computador de destino.
A DontFragment propriedade controla se os dados enviados para um host remoto podem ser divididos em vários pacotes. Essa opção será útil se você quiser testar a MTU (unidade de transmissão máxima) dos roteadores e gateways usados para transmitir o pacote.
As instâncias da PingOptions classe são passadas para os Send métodos e SendAsync e a PingReply classe retorna instâncias por PingOptions meio da Options propriedade.
Para obter uma lista de valores de propriedade iniciais de uma instância de PingOptions, consulte o construtor PingOptions.
Construtores
| Nome | Description |
|---|---|
| PingOptions() |
Inicializa uma nova instância da classe PingOptions. |
| PingOptions(Int32, Boolean) |
Inicializa uma nova instância da PingOptions classe e define os valores de vida útil e fragmentação. |
Propriedades
| Nome | Description |
|---|---|
| DontFragment |
Obtém ou define um Boolean valor que controla a fragmentação dos dados enviados para o host remoto. |
| Ttl |
Obtém ou define o número de nós de roteamento que podem encaminhar os Ping dados antes de serem descartados. |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém a Type instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial da atual Object. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |