zoukankan      html  css  js  c++  java
  • (转)使用Ping获得局域网机器信息

              实际编程中会遇到查找局域网机器的情况,这个时候ping命令对我们帮助比较大,一般来说,都是在命令行中输入“ping XXX -t”,下面的方法是在C#编码中使用Ping。

              原文地址:http://zhidao.baidu.com/link?url=Hrfa4uVm_QD_l9VnrY4ksK4yjTWwaS1L7ApRcLmCbMXnskXD3lUm0TIhASFIsuAnt-JKc9NpzAYYYAdA0DbtBxCDNI9dMsKp0XBLb5CYTDm

                 list<string> ipList=new list<string>();

              public void getIP()
              {
                 
                //获取本地机器名 
                string _myHostName = Dns.GetHostName();
                //获取本机IP 
                string _myHostIP = Dns.GetHostEntry(_myHostName).AddressList[0].ToString();
                //截取IP网段
                string ipDuan = _myHostIP.Remove(_myHostIP.LastIndexOf('.'));
                //枚举网段计算机
                for (int i = 1; i <= 255; i++)
                {
                    Ping myPing = new Ping();
                    myPing.PingCompleted += new PingCompletedEventHandler(_myPing_PingCompleted);
                    string pingIP = ipDuan + "." + i.ToString();
                    myPing.SendAsync(pingIP, 1000, null);//此处为异步方式,也可以采用send方法的同步方式
                     
                }
                }
                void _myPing_PingCompleted(object sender, PingCompletedEventArgs e)
            {
                if (e.Reply.Status == IPStatus.Success)
                {
                    ipList.Add(e.Reply.Address.ToString());
                }
            }
         实际测试中,空IP一般需要实际0.5S左右,而有主机的IP一般检测时间不到0.1S,这样254个可能中,实际时间120左右。
  • 相关阅读:
    用C#设置系统时间和本地时间
    在ASP.NET中使用Session常见问题集锦 收藏
    C#开源资源大汇总(2)
    漫谈ASP.NET设计中的性能优化问题
    比较著名的.net技术论坛名称(含国外的)
    在ASP.NET 2.0中,一个ASP.NET页面的生命周期
    DataGrid技巧大集合(转载)
    Silverlight经典教程书籍汇总
    Asp.Net细节性问题技巧精萃
    C#开源资源大汇总(1)
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/4386649.html
Copyright © 2011-2022 走看看