(转)使用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左右。

转载于:https://www.cnblogs.com/hhhh2010/p/4386649.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值