PingReply 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public ref class PingReplypublic class PingReplytype PingReply = classPublic Class PingReply- 继承
- 
				PingReply
示例
下面的代码示例演示如何使用 Ping 类同步发送 ICMP 回显请求并显示响应。
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 尝试将 Internet 控制消息协议 (ICMP) 回显请求发送到远程计算机,并通过 ICMP 回显回复消息从计算机接收信息。 类 Ping 使用 类的 PingReply 实例返回有关操作的信息,例如其状态以及发送请求和接收回复所花费的时间。
方法 Send 直接返回 类的 PingReply 实例。 方法SendAsync在方法的 PingCompletedEventArgs 参数中PingCompletedEventHandler返回 PingReply 。 PingReply通过 Reply 属性访问 。
如果 的值Status不是 Success,则不应使用 、 RoundtripTimeOptions 或 Buffer 属性返回的值。 属性 RoundtripTime 将返回零, Buffer 属性将返回空数组,属性 Options 将返回 null。
属性
| Address | 获取发送 Internet 控制消息协议 (ICMP) 回送答复的主机地址。 | 
| Buffer | 获取 Internet 控制消息协议 (ICMP) 回送答复消息中收到的数据缓冲区。 | 
| Options | 获取用于将答复传输到 Internet 控制消息协议 (ICMP) 回送请求的选项。 | 
| RoundtripTime | 获取发送 Internet 控制消息协议 (ICMP) 回显请求和接收相应 ICMP 回显回复消息所花费的毫秒数。 | 
| Status | 获取发送 Internet 控制消息协议 (ICMP) 回送请求并接收相应 ICMP 回送答复消息的尝试的状态。 | 
方法
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) |