• (转)使用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左右。
  • 相关阅读:
    【转】PowerManager 与 WakeLock
    【转】设计模式总结之模式分类
    【转】一篇文章,教你学会Git
    【转】Iconfont
    【转】码云source tree 提交超过100m 为什么大文件推不上去
    各 Android 平台版本支持的 API 级别
    【转】Android进程机制
    【转】数据库CRUD操作
    【转】数据库--视图的基本概念以及作用
    动态规划的两种形式
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/4386649.html
Copyright © 2020-2023  润新知