PingOptions Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Slouží k řízení způsobu Ping přenosu datových paketů.
public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
- Dědičnost
-
PingOptions
Příklady
Následující příklad kódu používá Pinga PingOptionsPingReply třídy k odeslání žádosti o odezvu ICMP hostiteli zadanému na příkazovém řádku.
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
Poznámky
Třída PingOptions poskytuje Ttl a DontFragment vlastnosti pro řízení způsobu přenosu paketů žádosti o odezvu protokolu ICMP (Internet Control Message Protocol).
Vlastnost Ttl určuje Time to Live pro pakety odeslané Ping třídou. Tato hodnota označuje počet uzlů směrování, které mohou paket předat před Ping jeho zahozením. Nastavení této možnosti je užitečné, pokud chcete otestovat počet přeposlaných přenosů, označovaných také jako segmenty směrování, jsou potřeba k odeslání paketu ze zdrojového počítače do cílového počítače.
Vlastnost DontFragment řídí, zda lze data odesílaná vzdálenému hostiteli rozdělit do více paketů. Tato možnost je užitečná, pokud chcete otestovat maximální přenosovou jednotku (MTU) směrovačů a bran používaných k přenosu paketu.
Instance třídy jsou předány PingOptionsSend metodám a PingReplySendAsync třída vrací instance PingOptions prostřednictvím Options vlastnosti.
Seznam počátečních hodnot vlastností pro instanci PingOptionsnaleznete v konstruktoru PingOptions .
Konstruktory
| Name | Description |
|---|---|
| PingOptions() |
Inicializuje novou instanci PingOptions třídy. |
| PingOptions(Int32, Boolean) |
Inicializuje novou instanci PingOptions třídy a nastaví hodnoty Time to Live a fragmentace. |
Vlastnosti
| Name | Description |
|---|---|
| DontFragment |
Získá nebo nastaví Boolean hodnotu, která řídí fragmentaci dat odesílaných vzdálenému hostiteli. |
| Ttl |
Získá nebo nastaví počet uzlů směrování, které mohou předávat Ping data před jejich zahozením. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |