我在寻找一个更好的办法让我的局域网网络中使用Java计算机名称。我曾尝试过:获得网络计算机名称
byte[] ip = {(byte)192,(byte)168,(byte)178,(byte)1};
for(int i=1;i<255;i++)
{
ip[3] = (byte)i;
try
{
InetAddress addr = InetAddress.getByAddress(ip);
String s = addr.getHostName();
System.out.println(s);
}
catch(UnknownHostException e)
{
System.out.println(e.getMessage());
}
}
...但它太慢了。有没有其他方法?
我在Windows上。
任何想法表示赞赏。
速度有多慢?你想要多快? –
反向dns本质上很慢。并不是所有的IP都有反向映射,并且一般来说,如果一个块中的一个IP没有反向,那么其余的也不会有任何反向。 –
线程应该让你在这加速了很远,但在其他方面你的表现是在你的DNS服务器和网络 –