So erhalten Sie die IP-Adresse und die Namen aller Geräte im lokalen Netzwerk auf Android

Ich möchte mit Java alle verbundenen Geräte in meinem Netzwerk sehen, aber ich kann es nicht zum Laufen bringen. Ich habe einige Screenshots unten angehängt, wie ich es ausgeben möchte. Ich hätte gerne den Namen (zum Beispiel "TP Link Router" oder "Nexus 5X") und die IP-Adresse.

Ich habe viel auf Google und Stackoverflow gesucht, aber nichts schien für mich zu funktionieren. Auch GitHub hat keinen effektiven Code. Ich habe versucht, nach UPnP, Local Area Network, Subnetzen usw. zu suchen, aber nichts gefunden.

InetAddress localhost = InetAddress.getLocalHost();
byte[] ip = localhost.getAddress();
for (int i = 1; i <= 254; i++) {
    ip[3] = (byte)i;
    InetAddress address = InetAddress.getByAddress(ip);
    if (address.isReachable(1000)) {
        System.out.println(address + address.getHostAddress() + address.getAddress() + address.getHostName() + address.getCanonicalHostName());
    }
}

Ich habe tatsächlich eine doppelte (Art) Frage gefunden, aber sie wurde seit über einem Jahr nicht beantwortet.Quell

Antworten auf die Frage(2)

Ihre Antwort auf die Frage