用多线程,循环ping某个网关下的IP(0-255)。ping通了就记录下来,C#中有支持ping IP地址的类。给你提供一点代码吧: string gate = "192.168.10.";//网关 for (int index = 1; index <= 255; index++) { IPAddress address = IPAddress.Parse(gate + index.ToString()); Thread thread = new Thread(new ThreadStart( delegate()//匿名方法 { Ping ping = new Ping(); PingReply result = ping.Send(address); if (result.Status == IPStatus.Success) { lock (this.lstComputer)//防止2个线程去ping同一个IP,节约时间 { this.lstComputer.Items.Add(Dns.GetHostEntry(address).HostName + " : " + address.ToString());//ping通的结果保存到ListBox中,即在线的人 } } } )); thread.IsBackground = true;//设为后台线程 thread.Start();//启动线程 }
c#ip扫描代码
最新推荐文章于 2021-11-20 17:20:48 发布