Ping::SendPingAsync Method (IPAddress^, Int32, array<Byte>^, PingOptions^)
Send an Internet Control Message Protocol (ICMP) echo message with the specified data buffer to the computer that has the specified IPAddress, and receives a corresponding ICMP echo reply message from that computer as an asynchronous operation. This overload allows you to specify a time-out value for the operation, a buffer to use for send and receive, and control fragmentation and Time-to-Live values for the ICMP echo message packet.
Assembly: System (in System.dll)
public: [HostProtectionAttribute(SecurityAction::LinkDemand, ExternalThreading = true)] Task<PingReply^>^ SendPingAsync( IPAddress^ address, int timeout, array<unsigned char>^ buffer, PingOptions^ options )
Parameters
- address
-
Type:
System.Net::IPAddress^
An IP address that identifies the computer that is the destination for the ICMP echo message.
- timeout
-
Type:
System::Int32
The maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.
- buffer
-
Type:
array<System::Byte>^
A Byte array that contains data to be sent with the ICMP echo message and returned in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
- options
-
Type:
System.Net.NetworkInformation::PingOptions^
A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.
Return Value
Type: System.Threading.Tasks::Task<PingReply^>^Returns Task<TResult>.
The task object representing the asynchronous operation.
| Exception | Condition |
|---|---|
| ArgumentNullException | address is null. -or- buffer is null. |
| ArgumentOutOfRangeException | timeout is less than zero. |
| InvalidOperationException | A call to SendPingAsync is in progress. |
| PingException | An exception was thrown while sending or receiving the ICMP messages. See the inner exception for the exact exception that was thrown. |
| SocketException | address is not a valid IP address. |
| ObjectDisposedException | This object has been disposed. |
| ArgumentException | The size of buffer exceeds 65,500 bytes. |
This operation will not block. The returned Task<TResult>> object will complete after the ICMP packet has been sent and the response has been received.
Available since 4.5