#android
#Android
Вопрос:
Извините, если такой вопрос уже существует, но я не могу найти ответа, который мог бы мне помочь.
Я пытаюсь найти способ получить список ip MAC-адресов устройств, существующих в активной сети.
Есть ли способ сделать это с помощью java или c , а затем внедрить его в Java-приложение для Android?
Ответ №1:
этот фрагмент кода выполняет поиск устройств в сети wifi Network…
package com.example.deviceswichisconnected;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
private int LoopCurrentIP = 0;
String ad ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ArrayList<InetAddress> ar = getConnectedDevices( );
}
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));
ad = currentPingAddr.toString(); /////////////////
Log.d("MyApp",ad); //////////////
// 50ms Timeout for the "ping"
if (currentPingAddr.isReachable(50)) {
ret.add(currentPingAddr);
ad = currentPingAddr.toString(); /////////////////
Log.d("MyApp",ad); //////////////
}
} catch (UnknownHostException ex) {
} catch (IOException ex) {
}
LoopCurrentIP ;
}
return ret;
}
}
Ответ №2:
Взгляните на Bonjour/Zeroconf: http://android.noisepages.com/2010/02/yes-android-can-do-zeroconfbonjour-jmdns/
Но не надейтесь на создание списка всех устройств в вашей локальной сети, если у вас каким-то образом нет доступа к ее маршрутизатору.
Комментарии:
1. Хм .. Похоже, это может помочь, но я не могу включить эту библиотеку javax в проект. Он выдает ошибки «Импорт javax.jmdns не может быть разрешен», я думаю, это потому, что Android не реализует весь движок Java SE : (