1. 程式人生 > >C# Ping 簡單使用 (超時)

C# Ping 簡單使用 (超時)

C# Ping 簡單使用 (含超時處理)

說明,使用ping工具

1.可以用來查詢域名\主機是否可以訪問

2.可以用來查詢域名\主機對應的ip地址


一、使用Ping類,效率比較高,相應快

程式集 System

名稱空間:namespace System.Net.NetworkInformation

 class Program
    {
        static void Main(string[] args)
        {
            bool v = PingMethod("baidu.cn");
            bool
v2 = PingMethod("192.168.1.140"); bool v3 = PingMethod("192.168.12.15"); bool v4 = PingMethod("172.18.35.253"); bool v5 = PingMethod("127.0.0.1"); Console.ReadLine(); } /// <summary> /// ping命令 /// </summary> /// <param name="host">
傳送主機名或Ip地址</param>
/// <returns></returns> private static bool PingMethod(string host) { bool online = false; //是否線上 Ping pingSender = new Ping(); //呼叫同步 send 方法傳送資料,將返回結果儲存至PingReply例項 PingReply reply = pingSender.Send(hostNameOrAddress:host, timeout:120
); if (reply.Status == IPStatus.Success) { online = true; Console.WriteLine("當前線上,已ping通!"); StringBuilder sbuilder = new StringBuilder(); sbuilder.AppendLine(string.Format("答覆的主機地址: {0} ", reply.Address.ToString())); sbuilder.AppendLine(string.Format("往返時間: {0} ", reply.RoundtripTime)); sbuilder.AppendLine(string.Format("生存時間(TTL): {0} ", reply.Options.Ttl)); sbuilder.AppendLine(string.Format("是否控制資料包的分段: {0} ", reply.Options.DontFragment)); sbuilder.AppendLine(string.Format("緩衝區大小: {0} ", reply.Buffer.Length)); Console.WriteLine(sbuilder.ToString()); } else { Console.WriteLine("不線上,ping不通!"); } return online; } }

參考:
https://blog.csdn.net/zht666/article/details/24592021
https://blog.csdn.net/andrew_wx/article/details/6628501