Android - Ver equipos conectados a la red

 
Vista:
sin imagen de perfil

Ver equipos conectados a la red

Publicado por Mayka (1 intervención) el 30/05/2018 18:53:16
Hola a todos,

Estoy desarrollando un proyecto en el que tengo que ver los equipos que están conectados a la red a la que está conectada el terminal, un ejemplo podría ser la app "Es File Explorer". EL caso es que sólo veo los equipos que están conectados por wifi. Los que están conectados por Ethernet no consigo verlos.

Saben cuál puede ser el modo de ver todos los equipos?

Muchas gracias de antemano, saludos.Hola a todos,

Estoy desarrollando un proyecto en el que tengo que ver los equipos que están conectados a la red a la que está conectada el terminal, un ejemplo podría ser la app "Es File Explorer". EL caso es que sólo veo los equipos que están conectados por wifi. Los que están conectados por Ethernet no consigo verlos. Este es el modo en el que lo estoy haciendo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
ConnectivityManager cmWifi = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cmWifi.getActiveNetworkInfo();
WifiManager wm = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
 
 
WifiInfo connectionInfo = wm.getConnectionInfo();
int ipAddress = connectionInfo.getIpAddress();
String ipString = Formatter.formatIpAddress(ipAddress);
 
 
Log.d(TAG, "activeNetwork: " + String.valueOf(activeNetwork));
Log.d(TAG, "ipString: " + String.valueOf(ipString));
 
String prefix = ipString.substring(0, ipString.lastIndexOf(".") + 1);
Log.d(TAG, "prefix: " + prefix);
 
for (int i = 0; i < 255; i++) {
   // String testIp = prefix + String.valueOf(38);
    String testIp = prefix + String.valueOf(i);
    InetAddress address = InetAddress.getByName(testIp);
    boolean reachable = address.isReachable(1000);
    String hostName = address.getCanonicalHostName();
 
    if (reachable)
        Log.i(TAG, "Host: " + String.valueOf(hostName) + "(" + String.valueOf(testIp) + ") is reachable!");
 
}
 
ConnectivityManager cmWired = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
Log.i(TAG, "End search ");
Saben cuál puede ser el modo de ver todos los equipos?

Muchas gracias de antemano, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder