C#小轮子:自动连续Ping网络地址

前言

工作中,我们经常用到Ping这个指令,有时候我们需要Ping整个网段来查看这个网段上面有什么设备,哪些Ip地址是通的,这个时候就需要Ping指令

Ping

代码

我这个是批量Ping的代码,而且用了文件读取的形式

 var pingHead = File.ReadAllLines("resource/ping.txt")[0];
            Console.WriteLine($"收到信息pingHead:${
      
      pingHead}");

            for(var i = 1;i<=255;i++)
            {
    
    
                var pingPort = $"{
      
      pingHead}.{
      
      i}";

                //var reply = ping.Send("192.168.31.254", 1000);
                var reply = ping.Send(pingPort, 100);
                Console.WriteLine($"{
      
      pingPort}{
      
      reply.Status}");

                if (reply.Status == IPStatus.Success)
                {
    
    
                    Console.WriteLine("***************************");
                }
            }
            
            Console.WriteLine("Hello, World!");

在这里插入图片描述

异步问题

Ping指令不能异步,我也不知道为什么,网上说只能同时开辟一个Ping通道

c# - 异步任务中的大量 ping - 获取异常 “An asynchronous call is already in progress.”

猜你喜欢

转载自blog.csdn.net/qq_44695769/article/details/132218293