c# 扫描局域网IP列表的几种方法
2013-12-17 15:04
330 查看
很多软件都有获知局域网在线计算机IP的功能,但是在.net怎么实现呢,有好多方法, 下面我给大家介绍几种,供大家参考。
1、微软社区上介绍了使用Active Directory 来遍历局域网 利用DirectoryEntry组件来查看网络 网址:http://www.microsoft.com/china/communITy/program/originalarticles/techdoc/DirectoryEntry.mspx
View Code
效果评价:速度快,效率高,如果只取在线的IP,不取计算机名,速度会更快。
需要注意的是取计算机名称如果用Dns.GetHostByAddress取计算机名称,结果虽然正确,但VS2005会提示该方法已过时,但仍能使用。 如果用它推荐的替代方法Dns.GetHostEntry,则有个别计算机的名称会因超时而获得不到。
http://blog.163.com/ldy_3881685/blog/static/32380136200954112940184/
1、微软社区上介绍了使用Active Directory 来遍历局域网 利用DirectoryEntry组件来查看网络 网址:http://www.microsoft.com/china/communITy/program/originalarticles/techdoc/DirectoryEntry.mspx
private 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.0." + 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() + "|" + Dns.GetHostByAddress(IPAddress.Parse(e.Reply.Address.ToString())).HostName); } }
View Code
效果评价:速度快,效率高,如果只取在线的IP,不取计算机名,速度会更快。
需要注意的是取计算机名称如果用Dns.GetHostByAddress取计算机名称,结果虽然正确,但VS2005会提示该方法已过时,但仍能使用。 如果用它推荐的替代方法Dns.GetHostEntry,则有个别计算机的名称会因超时而获得不到。
http://blog.163.com/ldy_3881685/blog/static/32380136200954112940184/
相关文章推荐
- c# 扫描局域网IP列表的几种方法
- .Net中扫描局域网IP列表的几种方法
- .Net中扫描局域网IP列表的几种方法
- .Net中扫描局域网IP列表的几种方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,ip和mac)的方法
- C#遍历局域网的几种方法及比较
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- C#获取本机局域网ip和公网ip的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- C#获取本机IP搜集整理几种方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- C#实现局域网IP的扫描,从而打印出IP地址,主机名称和MAC地址
- 获得局域网中计算机的列表(包括计算机名,ip和mac)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 【转】C#获取本机IP搜集整理几种方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 用C#获取局域网内所有IP方法研究