PingOptions クラス

定義

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

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

次のコード例では、クラスとPingReplyクラスPingOptionsPing使用して、コマンド ラインで指定されたホストに 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);
            }
        }
    }
}

注釈

このクラスには PingOptionsTtl インターネット制御メッセージ プロトコル (ICMP) エコー要求パケットの送信方法を制御するプロパティと DontFragment プロパティが用意されています。

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

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

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

インスタンスの初期プロパティ値の 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)

適用対象