2015-08-26 32 views
0

我做一個簡單的程序來掃描我的網絡IP地址,並列出所有可用的設備:爲什麼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

不知道爲什麼,如果它顯示本地主機,那麼它確實顯示它。我的意思是你不能只使用localhost作爲主機IP,如果你需要在你的代碼中使用它的話?

從另一個帖子

NetworkInterface類包含了所有的相關方法,但要注意,有作爲「我的IP」沒有這樣的事。一臺機器可以有多個接口,每個接口可以有多個IP。

您可以列出所有這些類,但您從列表中選擇哪個接口和IP取決於您確切需要使用此IP的用途。

相關問題