我想在短時間內找到本地網絡上的服務器的IP地址。我知道應用程序在服務器上使用的端口。在Java/Android中使用已知端口在本地網絡中查找服務器IP
我試過這個,但它太慢了。即使當我知道IP,響應時間太長(每個IP大約4秒左右)。考慮到這種方法,從10.0.0.0到10.0.0.255掃描整個子網需要幾分鐘的時間。
String ip = "10.0.0.45";
try {
InetAddress ping = InetAddress.getByName(ip);
Socket s = new Socket(ping, 32400);
System.out.println("Server found on IP: " + ping.getCanonicalHostName());
s.close();
} catch (IOException e) {
System.out.println("Nothing");
}
}
我可以使用線程,但這仍然會很慢。我看到應用程序發現IP以毫秒爲單位。他們如何做到這一點? Java代碼將不勝感激!