Ping クラス

定義

リモート コンピューターにネットワーク経由でアクセスできるかどうかをアプリケーションで確認できるようにします。

public ref class Ping : System::ComponentModel::Component
public ref class Ping : IDisposable
public ref class Ping : System::ComponentModel::Component, IDisposable
public class Ping : System.ComponentModel.Component
public class Ping : IDisposable
public class Ping : System.ComponentModel.Component, IDisposable
type Ping = class
    inherit Component
type Ping = class
    interface IDisposable
type Ping = class
    inherit Component
    interface IDisposable
Public Class Ping
Inherits Component
Public Class Ping
Implements IDisposable
Public Class Ping
Inherits Component
Implements IDisposable
継承
継承
Ping
実装

次のコード例では、 クラスを同期的に使用する方法を Ping 示します。

#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

次のコード例では、 クラスを非同期的に使用する方法を Ping 示します。

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::ComponentModel;
using namespace System::Threading;
void PingCompletedCallback( Object^ sender, PingCompletedEventArgs^ e );
void DisplayReply( PingReply^ reply );
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args->Length == 1 )
      throw gcnew ArgumentException( "Ping needs a host or IP Address." );

   String^ who = args[ 1 ];
   AutoResetEvent^ waiter = gcnew AutoResetEvent( false );
   
   Ping ^ pingSender = gcnew Ping;
   
   // When the PingCompleted event is raised,
   // the PingCompletedCallback method is called.
   pingSender->PingCompleted += gcnew PingCompletedEventHandler( PingCompletedCallback );
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 12 seconds for a reply.
   int timeout = 12000;
   
   // Set options for transmission:
   // The data can go through 64 gateways or routers
   // before it is destroyed, and the data packet
   // cannot be fragmented.
   PingOptions ^ options = gcnew PingOptions( 64,true );
   Console::WriteLine( "Time to live: {0}", options->Ttl );
   Console::WriteLine( "Don't fragment: {0}", options->DontFragment );
   
   // Send the ping asynchronously.
   // Use the waiter as the user token.
   // When the callback completes, it can wake up this thread.
   pingSender->SendAsync( who, timeout, buffer, options, waiter );
   
   // Prevent this example application from ending.
   // A real application should do something useful
   // when possible.
   waiter->WaitOne();
   Console::WriteLine( "Ping example completed." );
}


void PingCompletedCallback( Object^ /*sender*/, PingCompletedEventArgs^ e )
{
   
   // If the operation was canceled, display a message to the user.
   if ( e->Cancelled )
   {
      Console::WriteLine( "Ping canceled." );
      
      // Let the main thread resume. 
      // UserToken is the AutoResetEvent object that the main thread 
      // is waiting for.
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   
   // If an error occurred, display the exception to the user.
   if ( e->Error != nullptr )
   {
      Console::WriteLine( "Ping failed:" );
      Console::WriteLine( e->Error->ToString() );
      
      // Let the main thread resume. 
      (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
   }

   PingReply ^ reply = e->Reply;
   DisplayReply( reply );
   
   // Let the main thread resume.
   (dynamic_cast<AutoResetEvent^>(e->UserState))->Set();
}


void DisplayReply( PingReply ^ reply )
{
   if ( reply == nullptr )
      return;

   Console::WriteLine( "ping status: {0}", reply->Status );
   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.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.ComponentModel;
using System.Threading;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        public static void Main (string[] args)
        {
            if (args.Length == 0)
                throw new ArgumentException ("Ping needs a host or IP Address.");

            string who = args[0];
            AutoResetEvent waiter = new AutoResetEvent (false);

            Ping pingSender = new Ping ();

            // When the PingCompleted event is raised,
            // the PingCompletedCallback method is called.
            pingSender.PingCompleted += new PingCompletedEventHandler (PingCompletedCallback);

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);

            // Wait 12 seconds for a reply.
            int timeout = 12000;

            // Set options for transmission:
            // The data can go through 64 gateways or routers
            // before it is destroyed, and the data packet
            // cannot be fragmented.
            PingOptions options = new PingOptions (64, true);

            Console.WriteLine ("Time to live: {0}", options.Ttl);
            Console.WriteLine ("Don't fragment: {0}", options.DontFragment);

            // Send the ping asynchronously.
            // Use the waiter as the user token.
            // When the callback completes, it can wake up this thread.
            pingSender.SendAsync(who, timeout, buffer, options, waiter);

            // Prevent this example application from ending.
            // A real application should do something useful
            // when possible.
            waiter.WaitOne ();
            Console.WriteLine ("Ping example completed.");
        }

        private static void PingCompletedCallback (object sender, PingCompletedEventArgs e)
        {
            // If the operation was canceled, display a message to the user.
            if (e.Cancelled)
            {
                Console.WriteLine ("Ping canceled.");

                // Let the main thread resume.
                // UserToken is the AutoResetEvent object that the main thread
                // is waiting for.
                ((AutoResetEvent)e.UserState).Set ();
            }

            // If an error occurred, display the exception to the user.
            if (e.Error != null)
            {
                Console.WriteLine ("Ping failed:");
                Console.WriteLine (e.Error.ToString ());

                // Let the main thread resume.
                ((AutoResetEvent)e.UserState).Set();
            }

            PingReply reply = e.Reply;

            DisplayReply (reply);

            // Let the main thread resume.
            ((AutoResetEvent)e.UserState).Set();
        }

        public static void DisplayReply (PingReply reply)
        {
            if (reply == null)
                return;

            Console.WriteLine ("ping status: {0}", reply.Status);
            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);
            }
        }
    }
}

注釈

アプリケーションでは、 クラスを Ping 使用して、リモート コンピューターに到達できるかどうかを検出します。

ネットワーク トポロジは、リモート ホストに正常に接続できるかどうかを Ping 判断できます。 プロキシ、ネットワーク アドレス変換 (NAT) 機器、またはファイアウォールの存在と構成により、成功を妨げる Ping 可能性があります。 成功 Ping すると、リモート ホストにネットワーク上で到達できることのみが示されます。リモート ホスト上に上位レベルのサービス (Web サーバーなど) が存在することは保証されません。

このクラスは、Ping.exe コマンド ライン ツールと同様の機能を提供します。 メソッドと SendAsync メソッドはSend、インターネット制御メッセージ プロトコル (ICMP) エコー要求メッセージをリモート コンピューターに送信し、そのコンピューターからの ICMP エコー応答メッセージを待機します。 ICMP メッセージの詳細については、「RFC 792 https://www.ietf.org」を参照してください。

クラスでは次の型を Ping 使用し、以下で詳しく説明します。

型名 説明
IPStatus ICMP エコー要求メッセージの結果を記述する状態コードを定義します。
PingOptions 要求パケットを転送できる回数 ()、およびフラグメント化できるかどうかを制御する設定を構成または取得できます (TtlDontFragment )。
PingReply ICMP エコー要求の結果を格納します。
PingException 回復不可能なエラーが発生した場合にスローされます。
PingCompletedEventArgs 呼び出しが完了または取り消されたときに発生するイベントにSendAsync関連付PingCompletedけられたデータを格納します。
PingCompletedEventHandler 呼び出しが完了または取り消されたときに呼び出されるコールバック メソッドを SendAsync 提供するデリゲート。

メソッドと SendAsync メソッドはSend、 オブジェクト内の応答をPingReply返します。 プロパティは PingReply.Status 、要求の結果を IPStatus 示す値を返します。

要求を送信するときは、リモート コンピューターを指定する必要があります。 これを行うには、ホスト名の文字列、文字列形式の IP アドレス、または オブジェクトを IPAddress 指定します。

次のいずれかの種類の情報を指定することもできます。

  • 要求に付随するデータ。 を buffer 指定すると、特定のサイズのパケットがリモート ホストとの間を移動するのに必要な時間と、ネットワーク パスの最大伝送単位を学習できます。 (パラメーターを Send 受け取る または SendAsync オーバーロードを buffer 参照してください)。

  • ICMP エコー パケットを転送中に断片化できるかどうか。 (パラメーターを DontFragment 受け取る プロパティと Send オーバーロードまたは SendAsync オーバーロードを options 参照してください)。

  • ルーターやゲートウェイなどのルーティング ノードがパケットを転送できる回数。その後、宛先コンピューターに到達するか、破棄されます。 (および パラメーターをSend受け取る または SendAsync オーバーロードをoptions参照してくださいTtl)。

  • 応答を受信する必要がある時間制限。 (パラメーターを Send 受け取る または SendAsync オーバーロードを timeout 参照してください。

クラスは Ping 、要求を送信するための同期メソッドと非同期メソッドの両方を提供します。 応答の待機中にアプリケーションをブロックする必要がある場合は、 メソッドを Send 使用します。これらのメソッドは同期的です。 アプリケーションでブロックしない場合は、非同期 SendAsync メソッドを使用します。 への SendAsync 呼び出しは、スレッド プールから自動的に割り当てられる独自のスレッドで実行されます。 非同期操作が完了すると、 イベントが PingCompleted 発生します。 アプリケーションでは、デリゲートを PingCompletedEventHandler 使用して、イベントに対して呼び出されるメソッドを PingCompleted 指定します。 を呼び出すPingCompletedEventHandlerSendAsync前に、 イベントにデリゲートを追加する必要があります。 デリゲートの メソッドは、 PingCompletedEventArgs 呼び出しの結果を記述する オブジェクトを PingReply 含む オブジェクトを SendAsync 受け取ります。

クラスの同じインスタンスを使用して、複数の Ping 同時 ICMP エコー要求を生成することはできません。 SendAsync呼び出しの進行中に を呼び出Sendすか、以前のすべての呼び出しSendAsyncが完了する前にを複数回呼び出すと、 がInvalidOperationException発生します。

コンストラクター

Ping()

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

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainer を含む Component を取得します。

(継承元 Component)
DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
Site

ComponentISite を取得または設定します。

(継承元 Component)

メソッド

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

Ping が使用しているアンマネージド リソースを解放し、マネージド リソースを破棄します。

Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

Ping オブジェクトによって使用されているアンマネージド リソースを解放します。オプションとして、マネージド リソースを破棄することもできます。

Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

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

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

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

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnPingCompleted(PingCompletedEventArgs)

PingCompleted イベントを発生させます。

Send(IPAddress)

指定した IPAddress を持つコンピューターに ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

Send(IPAddress, Int32)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このメソッドを使用して、操作のタイムアウト値を指定できます。

Send(IPAddress, Int32, Byte[])

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

Send(IPAddress, Int32, Byte[], PingOptions)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。

Send(IPAddress, TimeSpan, Byte[], PingOptions)

指定した IPAddressを持つコンピューターにインターネット制御メッセージ プロトコル (ICMP) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信しようとします。

Send(String)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

Send(String, Int32)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このメソッドを使用して、操作のタイムアウト値を指定できます。

Send(String, Int32, Byte[])

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

Send(String, Int32, Byte[], PingOptions)

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP パケットのフラグメンテーションと有効期間 (TTL: time-to-live) 値を制御できます。

Send(String, TimeSpan, Byte[], PingOptions)

インターネット制御メッセージ プロトコル (ICMP) エコー メッセージを指定したコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信しようとします。

SendAsync(IPAddress, Int32, Byte[], Object)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを非同期的に送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendAsync(IPAddress, Int32, Byte[], PingOptions, Object)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを非同期的に送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。

SendAsync(IPAddress, Int32, Object)

指定された IPAddress を持つコンピューターに、非同期的に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendAsync(IPAddress, Object)

指定された IPAddress を持つコンピューターに、非同期的に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

SendAsync(String, Int32, Byte[], Object)

指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを非同期的に送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendAsync(String, Int32, Byte[], PingOptions, Object)

指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを非同期的に送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP パケットのフラグメンテーションと有効期間 (TTL: time-to-live) 値を制御できます。

SendAsync(String, Int32, Object)

指定されたコンピューターに、非同期的に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendAsync(String, Object)

指定されたコンピューターに、非同期的に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

SendAsyncCancel()

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージの送信と対応する ICMP エコー応答メッセージの受信を行う、保留中のすべての非同期要求をキャンセルします。

SendPingAsync(IPAddress)

非同期操作として、指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

SendPingAsync(IPAddress, Int32)

非同期操作として、指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendPingAsync(IPAddress, Int32, Byte[])

非同期操作として、指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードによって、操作にタイムアウト値を指定し、送信と受信に使用するバッファーを指定することができます。

SendPingAsync(IPAddress, Int32, Byte[], PingOptions)

非同期操作として、指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値と送受信に使用するバッファーを指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。

SendPingAsync(IPAddress, TimeSpan, Byte[], PingOptions, CancellationToken)

非同期操作として、指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用すると、操作のタイムアウト値、送受信に使用するバッファー、断片化と Time-to-Live 値の制御、ICMP エコー メッセージ パケットの を CancellationToken 指定できます。

SendPingAsync(String)

非同期操作として、指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。

SendPingAsync(String, Int32)

非同期操作として、指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値を指定できます。

SendPingAsync(String, Int32, Byte[])

非同期操作として、指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードによって、操作にタイムアウト値を指定し、送信と受信に使用するバッファーを指定することができます。

SendPingAsync(String, Int32, Byte[], PingOptions)

非同期操作として、指定されたコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。 このオーバーロードを使用して、操作のタイムアウト値と送受信に使用するバッファーを指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。

SendPingAsync(String, TimeSpan, Byte[], PingOptions, CancellationToken)

指定したデータ バッファーを含むインターネット制御メッセージ プロトコル (ICMP) エコー メッセージを指定したコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを非同期操作として受信します。 このオーバーロードを使用すると、操作のタイムアウト値、送受信に使用するバッファー、断片化と Time-to-Live 値の制御、ICMP エコー メッセージ パケットの を CancellationToken 指定できます。

ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)
ToString()

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

(継承元 Object)

イベント

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
PingCompleted

非同期の操作が ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、対応する ICMP エコー応答メッセージの受信を完了するか、またはキャンセルされたときに発生します。

明示的なインターフェイスの実装

IDisposable.Dispose()

Ping クラスのインスタンスによって使用されているすべてのリソースを解放します。

適用対象

こちらもご覧ください