Ping.Send Method (IPAddress, Int32, Byte)
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.
Assembly: System (in System.dll)
- Type: System.Net.IPAddress
An IPAddress that identifies the computer that is the destination for the ICMP echo message.
- Type: System.Int32
An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) to wait for the ICMP echo reply message.
Return ValueType: System.Net.NetworkInformation.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. The method will return PacketTooBig if the packet exceeds the Maximum Transmission Unit (MTU).
The size of buffer exceeds 65500 bytes.
address is a null reference (Nothing in Visual Basic).
buffer is a null reference (Nothing in Visual Basic), or the buffer size is greater than 65500 bytes.
timeout is less than zero.
A call to SendAsync is in progress.
address is an IPv6 address and the local computer is running an operating system earlier than Windows 2000.
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.
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. 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. To prevent fragmentation, use one of the Send methods that takes an options parameter, and set the DontFragment property to true. 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. When this happens, the Status is set to PacketTooBig.
The packet or packet fragments can be forwarded by routing nodes 128 times before being discarded. To change this setting, use a Send overload that takes an options parameter, and set the Ttl property to the desired value. 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. When this happens, the Status is set to TtlExpired.