Aracılığıyla paylaş


PingOptions Sınıf

Tanım

Veri paketlerinin nasıl Ping iletilmesini denetlemek için kullanılır.

public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
Devralma
PingOptions

Örnekler

Aşağıdaki kod örneği, komut satırında belirtilen konağa bir ICMP yankı isteği göndermek için ve PingOptionsPingReply sınıflarını kullanırPing.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew 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";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 1 ], 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 );
   }

   
}
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

Açıklamalar

sınıfı, PingOptions İnternet Denetim İletisi Protokolü (ICMP) yankı isteği paketlerinin nasıl iletilmesini denetlemek için ve DontFragment özelliklerini sağlarTtl.

özelliği, Ttl sınıfı tarafından gönderilen paketler için Yaşam Süresi'ni Ping belirtir. Bu değer, bir Ping paketi atmadan önce iletebilecek yönlendirme düğümlerinin sayısını gösterir. Kaynak bilgisayardan hedef bilgisayara paket göndermek için atlamalar olarak da bilinen iletilenlerin sayısını test etmek istiyorsanız bu seçeneğin ayarlanması yararlıdır.

özelliği, DontFragment uzak bir konağa gönderilen verilerin birden çok pakete bölünip bölünemeyeceğini denetler. Bu seçenek, paketi iletmek için kullanılan yönlendiricilerin ve ağ geçitlerinin maksimum iletim birimini (MTU) test etmek istiyorsanız kullanışlıdır.

sınıfının örnekleri PingOptions ve yöntemlerine Send geçirilir ve PingReply sınıfı özelliği aracılığıyla Options örneklerini PingOptions döndürür.SendAsync

örneğinin ilk özellik değerlerinin PingOptionslistesi için oluşturucuya PingOptions bakın.

Oluşturucular

PingOptions()

PingOptions sınıfının yeni bir örneğini başlatır.

PingOptions(Int32, Boolean)

sınıfının yeni bir örneğini PingOptions başlatır ve Yaşam Süresi ile parçalanma değerlerini ayarlar.

Özellikler

DontFragment

Uzak konağa gönderilen verilerin parçalanmasını denetleen bir Boolean değeri alır veya ayarlar.

Ttl

Verileri atmadan önce iletebilecek Ping yönlendirme düğümlerinin sayısını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır