.NET 检测地址/主机/域名是否正常

🌱PING 地址/主机名/域名

     /// <summary>
     /// PING
     /// </summary>
     /// <param name="ip">ip</param>
     /// <returns></returns>
     public static bool PingIp(string ip)
     {
         System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();
         System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions();
         options.DontFragment = true;
         string data = "Test Data!";
         byte[] buffer = Encoding.ASCII.GetBytes(data);
         int timeout = 2000; // Timeout
         System.Net.NetworkInformation.PingReply reply = p.Send(ip, timeout, buffer, options);
         if (reply.Status == System.Net.NetworkInformation.IPStatus.Success)
         {
           //  AddToConvo(ip + reply.Status);
             return true;
         }
         else
         {
            // AddToConvo(ip + reply.Status);
             return false;
         }
     }

👀调用方法

  List<string> list = new List<string>();
  list.Add("192.168.1.1");
  list.Add("192.168.3.1");
  list.Add("192.168.4.1");

  foreach (string s in list)
  {
     Console.WriteLine(s+" "+ ccPing.PingIp(s));
        //if(!xxx) 
  }
  
  Thread.Sleep(10000);

隔10秒自动调用1次 


 

📫检查URL

        public async Task<bool> IsServerRespondingAsync(string url, TimeSpan timeout)
        {
            try
            {
                using (var cancellationTokenSource = new System.Threading.CancellationTokenSource())
                {
                    cancellationTokenSource.CancelAfter(timeout);
                    var response = await _httpClient.GetAsync(url, cancellationTokenSource.Token);
                    return response.IsSuccessStatusCode;
                }
            }
            catch (TaskCanceledException)
            {
                // 请求超时
                return false;
            }
            catch (Exception)
            {
                // 发生其他错误
                return false;
            }
        }

异步调用

 await checker.IsServerRespondingAsync(url, TimeSpan.FromSeconds(2));

如果False可以调用报警代码

END

相关推荐

  1. python验证输入的IP地址是否正确

    2024-04-28 13:46:03       142 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 13:46:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 13:46:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 13:46:03       87 阅读
  4. Python语言-面向对象

    2024-04-28 13:46:03       96 阅读

热门阅读

  1. 规范化-RESTful URL

    2024-04-28 13:46:03       39 阅读
  2. 企微魔盒V15.6独立版源码+搭建环境教程

    2024-04-28 13:46:03       38 阅读
  3. 情绪:本来无一物,何处惹尘埃

    2024-04-28 13:46:03       34 阅读
  4. AXI4---锁定访问

    2024-04-28 13:46:03       34 阅读
  5. 计算机网络复习(应用层)

    2024-04-28 13:46:03       39 阅读
  6. vue的组件化

    2024-04-28 13:46:03       35 阅读
  7. 深度学习推理框架汇总

    2024-04-28 13:46:03       33 阅读
  8. 什么是vue,vue怎样使用?

    2024-04-28 13:46:03       39 阅读
  9. 传感器相关知识

    2024-04-28 13:46:03       35 阅读
  10. HTTP和HTTPS的区别及HTTPS的工作原理

    2024-04-28 13:46:03       32 阅读