我制作了一个简单的程序来扫描我的网络IP并列出所有可用的设备:
InetAddress localhost = InetAddress.getLocalHost();
byte[] ip = localhost.getAddress();
ip[3] = (byte) x;
InetAddress address = InetAddress.getByAddress(ip);
if (!address.getHostAddress().equals(address.getHostName())) {
avilablePcsList.add(address);
System.out.println(address.getHostName() + "\t" + address.getHostAddress() + "\t" + NetworkInterface.getByInetAddress(address));
}
但是这段代码除了我的电脑外,我的网络上的所有设备都可用,所以为什么这段代码没有显示我的电脑?以及如何显示它?
BTW:x是for循环的计数器变量(1:254)
答案 0 :(得分:0)
不知道为什么,如果它显示localhost然后它确实显示它。我的意思是,如果你需要在你的代码中的某个地方使用它,你是否可以使用localhost作为主机ip?
来自另一篇文章
NetworkInterface类包含所有相关方法,但请注意,没有"我的IP"。一台机器可以有多个接口,每个接口可以有多个IP。
您可以使用此类列出所有这些,但您从列表中选择的接口和IP取决于您使用此IP的确切需要。