说明
遍历局域网IP有很多种方法,这是较快的一种。
开发对等网软件时用到遍历操作。(无服务器,针对局域网的主机都发消息)
代码
using System; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; using System.Net.NetworkInformation; /// <summary> /// Summary description for Class1 /// </summary> public class GetNetInfo { public GetNetInfo() { // // TODO: Add constructor logic here // } //遍历局域网ip的方法(速度较快) public void EnumComputers() { try { for (int i = 1; i <= 255; i++) { Ping myPing; myPing = new Ping(); myPing.PingCompleted += new PingCompletedEventHandler(_myPing_PingCompleted); string pingIP = "192.168.1." + i.ToString(); myPing.SendAsync(pingIP, 1000, null); } } catch { } } private void _myPing_PingCompleted(object sender, PingCompletedEventArgs e) { if (e.Reply.Status == IPStatus.Success) { Console.WriteLine(e.Reply.Address.ToString()); //Console.WriteLine(e.Reply.Address.ToString() + "|" + Dns.GetHostByAddress(IPAddress.Parse(e.Reply.Address.ToString())).HostName); } } }