android – 使用ping列出本地网络上的设备

android – 使用ping列出本地网络上的设备,第1张

概述我正在尝试创建一个列出本地网络上所有连接设备的功能. 我所做的是ping地址空间x.x.x.0到x.x.x.255的任何地址,但它似乎无法正常工作.有人能以某种方式解释或扩展我的代码吗?我从电话(10.0.0.17)和默认网关(10.0.0.138)得到回复.后者甚至不应该在那里(事实上我不知道默认网关是什么,但忽略了).我虽然错过了这台电脑的IP. public ArrayList<InetAd 我正在尝试创建一个列出本地网络上所有连接设备的功能.
我所做的是Ping地址空间x.x.x.0到x.x.x.255的任何地址,但它似乎无法正常工作.有人能以某种方式解释或扩展我的代码吗?我从电话(10.0.0.17)和默认网关(10.0.0.138)得到回复.后者甚至不应该在那里(事实上我不知道默认网关是什么,但忽略了).我虽然错过了这台电脑的IP.
public ArrayList<InetAddress> getConnectedDevices(String YourPhoneIPAddress) {    ArrayList<InetAddress> ret = new ArrayList<InetAddress>();    LoopCurrentIP = 0;    //        String IPAddress = "";    String[] myIPArray = YourPhoneIPAddress.split("\.");    InetAddress currentPingAddr;    for (int i = 0; i <= 255; i++) {        try {            // build the next IP address            currentPingAddr = InetAddress.getByname(myIPArray[0] + "." +                    myIPArray[1] + "." +                    myIPArray[2] + "." +                    Integer.toString(LoopCurrentIP));            // 50ms Timeout for the "Ping"            if (currentPingAddr.isReachable(50)) {                if(currentPingAddr.getHostAddress() != YourPhoneIPAddress){                    ret.add(currentPingAddr);                }            }        } catch (UnkNownHostException ex) {        } catch (IOException ex) {        }        LoopCurrentIP++;    }    return ret;}
解决方法 这是一个稍微修改过的循环,应该可以解决这个问题(至少对我有用);
try {    NetworkInterface iFace = NetworkInterface            .getByInetAddress(InetAddress.getByname(YourIPAddress));    for (int i = 0; i <= 255; i++) {        // build the next IP address        String addr = YourIPAddress;        addr = addr.substring(0,addr.lastIndexOf('.') + 1) + i;        InetAddress PingAddr = InetAddress.getByname(addr);        // 50ms Timeout for the "Ping"        if (PingAddr.isReachable(iFace,200,50)) {            Log.d("Ping",PingAddr.getHostAddress());        }    }} catch (UnkNownHostException ex) {} catch (IOException ex) {}
总结

以上是内存溢出为你收集整理的android – 使用ping列出本地网络上的设备全部内容,希望文章能够帮你解决android – 使用ping列出本地网络上的设备所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存