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

文章目录

  • 前言
  • 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!");

C#小轮子:自动连续Ping网络地址_第1张图片

异步问题

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

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

你可能感兴趣的:(C#,小轮子,c#,java,开发语言)