PingReply クラス

定義

Send 操作または SendAsync 操作の結果として得られるステータスとデータに関する情報を提供します。Provides information about the status and data resulting from a Send or SendAsync operation.

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

次のコード例では Ping クラスを使用して ICMP エコー要求を同期的に送信し、応答を表示する方法を示します。The following code example demonstrates using Ping class to send an ICMP echo request synchronously and display the response.

#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);
            }
        }
    }
}

注釈

Ping クラスは、インターネット制御メッセージプロトコル (ICMP) エコー要求をリモートコンピューターに送信し、ICMP エコー応答メッセージを介してコンピューターから情報を受信します。The Ping class attempts to send an Internet Control Message Protocol (ICMP) echo request to a remote computer and receive information back from the computer via an ICMP echo reply message. Ping クラスは、PingReply クラスのインスタンスを使用して、その状態、要求の送信と応答の受信にかかった時間などの操作に関する情報を返します。The Ping class uses instances of the PingReply class to return information about the operation, such as its status and the time taken to send the request and receive the reply.

Send メソッドは、PingReply クラスのインスタンスを直接返します。The Send methods return instances of the PingReply class directly. SendAsync メソッドは、PingCompletedEventHandler メソッドの PingCompletedEventArgs パラメーターで PingReply を返します。The SendAsync methods return a PingReply in the PingCompletedEventHandler method's PingCompletedEventArgs parameter. PingReply には Reply プロパティを使用してアクセスします。The PingReply is accessed through the Reply property.

Status の値が Successない場合は、RoundtripTimeOptions、または Buffer の各プロパティによって返される値を使用しないでください。If the value of Status is not Success, you should not use the values returned by the RoundtripTime, Options or Buffer properties. RoundtripTime プロパティは0を返し、Buffer プロパティは空の配列を返し、Options プロパティは nullを返します。The RoundtripTime property will return zero, the Buffer property will return an empty array, and the Options property will return null.

プロパティ

Address

ICMP (インターネット制御メッセージ プロトコル) エコー応答を送信するホストのアドレスを取得します。Gets the address of the host that sends the Internet Control Message Protocol (ICMP) echo reply.

Buffer

ICMP (インターネット制御メッセージ プロトコル) エコー応答メッセージで受信したデータのバッファーを取得します。Gets the buffer of data received in an Internet Control Message Protocol (ICMP) echo reply message.

Options

ICMP (インターネット制御メッセージ プロトコル) エコー要求に応答を送信するために使用するオプションを取得します。Gets the options used to transmit the reply to an Internet Control Message Protocol (ICMP) echo request.

RoundtripTime

インターネット制御メッセージ プロトコル (ICMP) エコー要求を送信して、対応する ICMP エコー応答メッセージを受信するまでにかかった時間をミリ秒単位で取得します。Gets the number of milliseconds taken to send an Internet Control Message Protocol (ICMP) echo request and receive the corresponding ICMP echo reply message.

Status

ICMP (インターネット制御メッセージ プロトコル) エコー要求の送信と、対応する ICMP エコー応答メッセージの受信の処理のステータスを取得します。Gets the status of an attempt to send an Internet Control Message Protocol (ICMP) echo request and receive the corresponding ICMP echo reply message.

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象