次の方法で共有


PingOptions クラス

定義

Ping データ パケットの転送方法を制御するために使用します。

public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
継承
PingOptions

次のコード例では、 クラスと PingReply クラスをPingPingOptions使用して、コマンド ラインで指定されたホストに ICMP エコー要求を送信します。

#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

注釈

クラスはPingOptions、 および DontFragment プロパティを提供Ttlして、インターネット制御メッセージ プロトコル (ICMP) エコー要求パケットの送信方法を制御します。

プロパティは Ttl 、 クラスによって送信されるパケットの Time to Live を Ping 指定します。 この値は、パケットが破棄される前に転送 Ping できるルーティング ノードの数を示します。 このオプションを設定すると、転送元コンピューターから宛先コンピューターにパケットを送信するために、転送の数 (ホップとも呼ばれます) をテストする必要がある場合に便利です。

プロパティは DontFragment 、リモート ホストに送信されるデータを複数のパケットに分割できるかどうかを制御します。 このオプションは、パケットの送信に使用されるルーターとゲートウェイの最大伝送単位 (MTU) をテストする場合に便利です。

クラスのPingOptionsインスタンスは メソッドと SendAsync メソッドにSend渡され、 クラスは プロパティをPingReply介して のPingOptionsインスタンスをOptions返します。

のインスタンスの初期プロパティ値の PingOptions一覧については、 コンストラクターを PingOptions 参照してください。

コンストラクター

PingOptions()

PingOptions クラスの新しいインスタンスを初期化します。

PingOptions(Int32, Boolean)

PingOptions クラスの新しいインスタンスを初期化し、有効期間 (TTL) とフラグメンテーションの値を設定します。

プロパティ

DontFragment

リモート ホストに送信するデータのフラグメンテーションを制御する Boolean 値を取得または設定します。

Ttl

Ping データが破棄される前に、そのデータを転送できるルーティング ノードの数を取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象