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

我正在尝试创建一个列出本地网络上所有连接设备的功能.

我所做的是ping地址空间x.x.x.0到x.x.x.255的任何地址,但它似乎无法正常工作.有人能以某种方式解释或扩展我的代码吗?我从电话(10.0.0.17)和默认网关(10.0.0.138)得到回复.后者甚至不应该在那里(事实上我不知道默认网关是什么,但忽略了).我虽然错过了这台电脑的IP.

public ArrayList getConnectedDevices(String YourPhoneIPAddress) {

ArrayList ret = new ArrayList();

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;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值