如何在 Android Studio 中获取 ping(在 LAN 1 到 255 中)
How to get ping (in LAN 1 to 255) in Android Studio
我想从 LAN 获取 ping
以查看我的 LAN 上有哪些设备。
这是我的代码:
TextView info = (TextView) findViewById(R.id.info);
String alive = "";
for (int i = 0; i < 256; i++) {
Process p = Runtime.getRuntime().exec("/system/bin/ping -c 1 192.168.1." + i);
info.setText("");
int status = p.waitFor();
if (status == 0) {
alive = alive + " - " + i;
Log.d("Hey", i+"");
}
这段代码工作正常,但这个过程非常耗时。
您正在等待每个 ping 进程完成,然后再开始下一个。
相反,您应该一次对每个 ping
创建一个 List<Process>
,然后在启动所有这些之后等待它们在单独的循环中完成。
我想从 LAN 获取 ping
以查看我的 LAN 上有哪些设备。
这是我的代码:
TextView info = (TextView) findViewById(R.id.info);
String alive = "";
for (int i = 0; i < 256; i++) {
Process p = Runtime.getRuntime().exec("/system/bin/ping -c 1 192.168.1." + i);
info.setText("");
int status = p.waitFor();
if (status == 0) {
alive = alive + " - " + i;
Log.d("Hey", i+"");
}
这段代码工作正常,但这个过程非常耗时。
您正在等待每个 ping 进程完成,然后再开始下一个。
相反,您应该一次对每个 ping
创建一个 List<Process>
,然后在启动所有这些之后等待它们在单独的循环中完成。