Ping.Send メソッド

定義

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージをリモート コンピューターに送信し、そのリモート コンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to a remote computer and receive a corresponding ICMP echo reply message from the remote computer.

オーバーロード

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

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP パケットのフラグメンテーションと有効期間 (TTL: time-to-live) 値を制御できます。This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

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

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

Send(String, Int32, Byte[])

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定できます。This overload allows you to specify a time-out value for the operation.

Send(IPAddress, Int32, Byte[])

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定できます。This overload allows you to specify a time-out value for the operation.

Send(String, Int32)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このメソッドを使用して、操作のタイムアウト値を指定できます。This method allows you to specify a time-out value for the operation.

Send(IPAddress, Int32)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. このメソッドを使用して、操作のタイムアウト値を指定できます。This method allows you to specify a time-out value for the operation.

Send(String)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

Send(IPAddress)

指定した IPAddress を持つコンピューターに ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

注釈

Send のいずれかのオーバーロードによって返される IP アドレスは、悪意のあるリモートコンピューターからのものである可能性があります。The IP address returned by any of the Send overloads can originate from a malicious remote computer. このを使用してリモートコンピューターに接続しないでください。Do not connect to the remote computer using this. DNS を使用して、接続先のコンピューターの IP アドレスを決定します。Use DNS to determine the IP address of the machine to which you want to connect.

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

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP パケットのフラグメンテーションと有効期間 (TTL: time-to-live) 値を制御できます。This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP packet.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : string * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

パラメーター

hostNameOrAddress
String

ICMP エコー メッセージの送信先コンピューターを識別する StringA String that identifies the computer that is the destination for the ICMP echo message. このパラメーターの値には、ホスト名または IP アドレスの文字列形式を指定できます。The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

ICMP エコー メッセージと共に送信されるデータが格納され、ICMP エコー応答メッセージで返される Byte 配列。A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. 配列には、65,500 バイトを超えるデータを格納することはできません。The array cannot contain more than 65,500 bytes.

options
PingOptions

ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御するために使用される PingOptions オブジェクト。A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

例外

buffer のサイズが 65500 バイトを超えています。The size of buffer exceeds 65500 bytes.

hostNameOrAddress または null が長さ 0 の文字列です。hostNameOrAddress is null or is a zero-length string.

または-or- buffernull です。または、buffer のサイズが 65500 バイトを超えています。buffer is null, or the buffer size is greater than 65500 bytes.

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

次のコード例は、このメソッドを呼び出す方法を示しています。The following code example demonstrates how to call this method.

void ComplexPing()
{
   Ping ^ pingSender = gcnew Ping;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   
   // 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 );
   
   // Send the request.
   PingReply ^ reply = pingSender->Send( "www.contoso.com", 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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}


public static void ComplexPing ()
{
    Ping pingSender = new Ping ();

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // 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);

    // Send the request.
    PingReply reply = pingSender.Send ("www.contoso.com", 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

DontFragment プロパティが true で、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信できる最大パケットサイズを超えている場合、ICMP エコー要求は失敗します。If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig.

ICMP エコーメッセージを転送先に到達するまでの最大回数を指定するには、Ttl プロパティを使用します。Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

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

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定し、ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御できます。This overload allows you to specify a time-out value for the operation and control fragmentation and Time-to-Live values for the ICMP echo message packet.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer, System::Net::NetworkInformation::PingOptions ^ options);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout, byte[] buffer, System.Net.NetworkInformation.PingOptions options);
member this.Send : System.Net.IPAddress * int * byte[] * System.Net.NetworkInformation.PingOptions -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte(), options As PingOptions) As PingReply

パラメーター

address
IPAddress

ICMP エコー メッセージの送信先コンピューターを識別する IPAddressAn IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

ICMP エコー メッセージと共に送信されるデータが格納され、ICMP エコー応答メッセージで返される Byte 配列。A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. 配列には、65,500 バイトを超えるデータを格納することはできません。The array cannot contain more than 65,500 bytes.

options
PingOptions

ICMP エコー メッセージ パケットのフラグメンテーションと有効期間 (TTL: time-to-live) の値を制御するために使用される PingOptions オブジェクト。A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received. パケットが MTU (Maximum Transmission Unit) を超えている場合、このメソッドは PacketTooBig を返します。The method will return PacketTooBig if the packet exceeds the Maximum Transmission Unit (MTU).

例外

buffer のサイズが 65500 バイトを超えています。The size of buffer exceeds 65500 bytes.

addressnull です。address is null.

または-or- buffernull です。または、buffer のサイズが 65500 バイトを超えています。buffer is null, or the buffer size is greater than 65500 bytes.

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

次のコード例は、このメソッドを呼び出す方法を示しています。The following code example demonstrates how to call this method.

void ComplexLocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   
   // 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 );
   PingReply ^ reply = pingSender->Send( address, 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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}


public static void ComplexLocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;

    // 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);
    PingReply reply = pingSender.Send (address, 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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified by the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

DontFragment プロパティが true で、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信できる最大パケットサイズを超えている場合、ICMP エコー要求は失敗します。If the DontFragment property is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig.

ICMP エコーメッセージを転送先に到達するまでの最大回数を指定するには、Ttl プロパティを使用します。Use the Ttl property to specify the maximum number of times the ICMP echo message can be forwarded before reaching its destination. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(String, Int32, Byte[])

指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定できます。This overload allows you to specify a time-out value for the operation.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout, byte[] buffer);
member this.Send : string * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer, buffer As Byte()) As PingReply

パラメーター

hostNameOrAddress
String

ICMP エコー メッセージの送信先コンピューターを識別する StringA String that identifies the computer that is the destination for the ICMP echo message. このパラメーターの値には、ホスト名または IP アドレスの文字列形式を指定できます。The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

ICMP エコー メッセージと共に送信されるデータが格納され、ICMP エコー応答メッセージで返される Byte 配列。A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. 配列には、65,500 バイトを超えるデータを格納することはできません。The array cannot contain more than 65,500 bytes.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

例外

buffer のサイズが 65500 バイトを超えています。The size of buffer exceeds 65500 bytes.

hostNameOrAddressnull または空の文字列 ("") です。hostNameOrAddress is null or is an empty string ("").

または-or- buffernull です。または、buffer のサイズが 65500 バイトを超えています。buffer is null, or the buffer size is greater than 65500 bytes.

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

Send オーバーロードの呼び出し方法を示す例については、「Ping クラスの概要」を参照してください。For an example that demonstrates how to call a Send overload, see the Ping class overview.

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig.

パケットフラグメントまたはパケットフラグメントは、128回のルーティングノードによって破棄されるまで転送できます。The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(IPAddress, Int32, Byte[])

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. このオーバーロードを使用して、操作のタイムアウト値を指定できます。This overload allows you to specify a time-out value for the operation.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout, cli::array <System::Byte> ^ buffer);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout, byte[] buffer);
member this.Send : System.Net.IPAddress * int * byte[] -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer, buffer As Byte()) As PingReply

パラメーター

address
IPAddress

ICMP エコー メッセージの送信先コンピューターを識別する IPAddressAn IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

buffer
Byte[]

ICMP エコー メッセージと共に送信されるデータが格納され、ICMP エコー応答メッセージで返される Byte 配列。A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. 配列には、65,500 バイトを超えるデータを格納することはできません。The array cannot contain more than 65,500 bytes.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received. パケットが MTU (Maximum Transmission Unit) を超えている場合、このメソッドは PacketTooBig を返します。The method will return PacketTooBig if the packet exceeds the Maximum Transmission Unit (MTU).

例外

buffer のサイズが 65500 バイトを超えています。The size of buffer exceeds 65500 bytes.

addressnull です。address is null.

または-or- buffernull です。または、buffer のサイズが 65500 バイトを超えています。buffer is null, or the buffer size is greater than 65500 bytes.

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

次のコード例は、このメソッドを呼び出す方法を示しています。The following code example demonstrates how to call this method.

void LocalPingTimeout()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   
   // Wait 10 seconds for a reply.
   int timeout = 10000;
   PingReply ^ reply = pingSender->Send( address, timeout, buffer);
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}


public static void LocalPingTimeout ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;

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

    // Wait 10 seconds for a reply.
    int timeout = 10000;
    PingReply reply = pingSender.Send (address, timeout, buffer);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig.

パケットフラグメントまたはパケットフラグメントは、128回のルーティングノードによって破棄されるまで転送できます。The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(String, Int32)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer. このメソッドを使用して、操作のタイムアウト値を指定できます。This method allows you to specify a time-out value for the operation.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress, int timeout);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress, int timeout);
member this.Send : string * int -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String, timeout As Integer) As PingReply

パラメーター

hostNameOrAddress
String

ICMP エコー メッセージの送信先コンピューターを識別する StringA String that identifies the computer that is the destination for the ICMP echo message. このパラメーターの値には、ホスト名または IP アドレスの文字列形式を指定できます。The value specified for this parameter can be a host name or a string representation of an IP address.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

例外

hostNameOrAddressnull または空の文字列 ("") です。hostNameOrAddress is null or is an empty string ("").

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

Send メソッドの呼び出しを示す例については、「Ping クラスの概要」を参照してください。For an example that demonstrates calling a Send method, see the Ping class overview.

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig. パケットフラグメント (フラグメント化されている場合) は、破棄される前に、ルーティングノードによって128回転送できます。The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(IPAddress, Int32)

指定された IPAddress を持つコンピューターに、指定されたデータ バッファーと共に ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer. このメソッドを使用して、操作のタイムアウト値を指定できます。This method allows you to specify a time-out value for the operation.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address, int timeout);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address, int timeout);
member this.Send : System.Net.IPAddress * int -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress, timeout As Integer) As PingReply

パラメーター

address
IPAddress

ICMP エコー メッセージの送信先コンピューターを識別する IPAddressAn IPAddress that identifies the computer that is the destination for the ICMP echo message.

timeout
Int32

エコー メッセージを送信してから ICMP エコー応答メッセージを待つ時間の最大値 (ミリ秒単位) を指定する Int32 値。An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message if one was received, or provides the reason for the failure if no message was received.

例外

addressnull です。address is null.

timeout が 0 未満です。timeout is less than zero.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

Send メソッドの呼び出しを示す例については、「Ping クラスの概要」を参照してください。For an example that demonstrates calling a Send method, see the Ping class overview.

注釈

timeout パラメーターで指定された時間内に ICMP エコー応答メッセージが受信されない場合、ICMP エコーは失敗し、Status プロパティは TimedOutに設定されます。If the ICMP echo reply message is not received within the time specified in the timeout parameter, the ICMP echo fails, and the Status property is set to TimedOut.

注意

timeoutに非常に小さい数を指定した場合、timeout ミリ秒が経過しても Ping 応答を受信できます。When specifying very small numbers for timeout, the Ping reply can be received even if timeout milliseconds have elapsed.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig.

パケットフラグメントまたはパケットフラグメントは、128回のルーティングノードによって破棄されるまで転送できます。The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(String)

ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを指定されたコンピューターに送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the specified computer, and receive a corresponding ICMP echo reply message from that computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::String ^ hostNameOrAddress);
public System.Net.NetworkInformation.PingReply Send (string hostNameOrAddress);
member this.Send : string -> System.Net.NetworkInformation.PingReply
Public Function Send (hostNameOrAddress As String) As PingReply

パラメーター

hostNameOrAddress
String

ICMP エコー メッセージの送信先コンピューターを識別する StringA String that identifies the computer that is the destination for the ICMP echo message. このパラメーターの値には、ホスト名または IP アドレスの文字列形式を指定できます。The value specified for this parameter can be a host name or a string representation of an IP address.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラーの原因を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message, if one was received, or provides the reason for the failure, if no message was received.

例外

hostNameOrAddressnull または空の文字列 ("") です。hostNameOrAddress is null or is an empty string ("").

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

次のコード例は、このメソッドの呼び出しを示しています。The following code example demonstrates calling this method.

void SimplePing()
{
   Ping ^ pingSender = gcnew Ping;
   PingReply ^ reply = pingSender->Send( "www.contoso.com" );
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}


public static void SimplePing ()
{
    Ping pingSender = new Ping ();
    PingReply reply = pingSender.Send ("www.contoso.com");

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

注釈

このメソッドは、ICMP エコーメッセージを使用して 32 Byte データバッファーを送信します。This method sends a 32 Byte data buffer with the ICMP echo message. メソッドは、ICMP エコー応答メッセージを5秒間待機します。The method waits five seconds for an ICMP echo reply message. この時間内に応答が受信されない場合、メソッドはを返し、Status プロパティは TimedOutに設定されます。If it does not receive a reply in that time, the method returns and the Status property is set to TimedOut.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig. パケットフラグメント (フラグメント化されている場合) は、破棄される前に、ルーティングノードによって128回転送できます。The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

Send(IPAddress)

指定した IPAddress を持つコンピューターに ICMP (インターネット制御メッセージ プロトコル) エコー メッセージを送信し、そのコンピューターから対応する ICMP エコー応答メッセージを受信します。Attempts to send an Internet Control Message Protocol (ICMP) echo message to the computer that has the specified IPAddress, and receive a corresponding ICMP echo reply message from that computer.

public:
 System::Net::NetworkInformation::PingReply ^ Send(System::Net::IPAddress ^ address);
public System.Net.NetworkInformation.PingReply Send (System.Net.IPAddress address);
member this.Send : System.Net.IPAddress -> System.Net.NetworkInformation.PingReply
Public Function Send (address As IPAddress) As PingReply

パラメーター

address
IPAddress

ICMP エコー メッセージの送信先コンピューターを識別する IPAddressAn IPAddress that identifies the computer that is the destination for the ICMP echo message.

戻り値

ICMP エコー応答メッセージが受信された場合は、そのメッセージに関する情報を提供し、メッセージが受信されなかった場合は、エラー原因の説明を提供する PingReply オブジェクト。A PingReply object that provides information about the ICMP echo reply message, if one was received, or describes the reason for the failure if no message was received.

例外

addressnull です。address is null.

SendAsync の呼び出しを実行中です。A call to SendAsync is in progress.

address は IPv6 アドレスですが、ローカル コンピューターでは Windows 2000 より前のオペレーティング システムが動作しています。address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.

ICMP メッセージの送信中または受信中に例外がスローされました。An exception was thrown while sending or receiving the ICMP messages. スローされた実際の例外については内部例外を参照してください。See the inner exception for the exact exception that was thrown.

このオブジェクトは破棄されました。This object has been disposed.

次のコード例は、このメソッドの呼び出しを示しています。The following code example demonstrates calling this method.

void LocalPing()
{
   
   // Ping's the local machine.
   Ping ^ pingSender = gcnew Ping;
   IPAddress^ address = IPAddress::Loopback;
   PingReply ^ reply = pingSender->Send( address );
   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 );
   }
   else
   {
      Console::WriteLine( reply->Status );
   }
}


public static void LocalPing ()
{
    // Ping's the local machine.
    Ping pingSender = new Ping ();
    IPAddress address = IPAddress.Loopback;
    PingReply reply = pingSender.Send (address);

    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);
    }
    else
    {
        Console.WriteLine (reply.Status);
    }
}

注釈

このメソッドは、ICMP エコーメッセージを使用して 32 Byte データバッファーを address によって指定されたホストに送信します。This method sends to the host that is specified by address a 32 Byte data buffer with the ICMP echo message. メソッドは、ICMP エコー応答メッセージを5秒間待機します。The method waits five seconds for an ICMP echo reply message. この時間内に応答が受信されない場合、メソッドはを返し、Status プロパティは TimedOutに設定されます。If it does not receive a reply in that time, the method returns and the Status property is set to TimedOut.

このオーバーロードは、パケットの断片化およびパケット転送に既定の設定を使用します。This overload uses default settings for packet fragmentation and packet forwarding. ICMP エコーメッセージを含むパケットは、合計パケットサイズがローカルコンピューターとリモートコンピューター間のルーティングノードのいずれかによって送信される最大パケットサイズを超えた場合に、転送中に断片化することがあります。The packet that contains the ICMP echo message can be fragmented in transit if the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers. 断片化を防ぐには、options パラメーターを受け取る Send メソッドの1つを使用し、DontFragment プロパティを trueに設定します。To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. DontFragmenttrue、合計パケットサイズが、ローカルコンピューターとリモートコンピューターのいずれかのルーティングノードが送信できる最大パケットサイズを超えた場合、ICMP エコー要求は失敗します。When DontFragment is true and the total packet size exceeds the maximum packet size that can be transmitted by one of the routing nodes between the local and remote computers, the ICMP echo request fails. この場合、StatusPacketTooBigに設定されます。When this happens, the Status is set to PacketTooBig. パケットフラグメント (フラグメント化されている場合) は、破棄される前に、ルーティングノードによって128回転送できます。The packet or packet fragments (if fragmented) can be forwarded by routing nodes 128 times before being discarded. この設定を変更するには、options パラメーターを受け取る Send オーバーロードを使用し、Ttl プロパティを目的の値に設定します。To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 指定された回数の転送後にパケットが送信先に届かない場合、パケットは破棄され、ICMP エコー要求は失敗します。If the packet does not reach its destination after being forwarded the specified number of times, the packet is discarded and the ICMP echo request fails. この場合、StatusTtlExpiredに設定されます。When this happens, the Status is set to TtlExpired.

セキュリティ

NetworkInformationPermission
ICMP エコーメッセージを送信します。To send an ICMP echo message. 関連付けられた列挙型: PingAssociated enumeration: Ping

適用対象