Sdílet prostřednictvím


PingOptions Třída

Definice

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)

Platí pro