我們有一臺路由器和3臺PC相連。Java網絡問題
- PC1:192.168.1.2(無線)
- PC2:192.168.1.3(無線)
- PC3:192.168.1.6
默認網關:192.168.1.1
當PC3嘗試使用this forum post中的代碼找到連接的PC,它僅返回默認網關的IP地址(該地址是唯一可到達的地址)。
我試着增加isReachable()
方法的超時時間。但它仍然只返回默認網關地址。
我試過這樣做的個人IP地址。
try {
InetAddress temp2 = InetAddress.getByAddress(new byte[]{(byte) 192, (byte) 168, (byte) 1, (byte) 2});
if (temp2.isReachable(1100)) {
java.lang.System.out.println("IP Address: " + temp2.getHostAddress() + " has connection.");
}else{
java.lang.System.out.println("IP Address: " + temp2.getHostAddress() + " has no connection.");
}
} catch (Exception ex) {
java.lang.System.out.println("Error: " + ex.getMessage());
}
對於這些PC1和PC2 IP地址,我只有一個沒有連接狀態。 (這意味着這些IP無法訪問。)
但是,當我在他們的Windows控制檯上ping它們時,這些IP被連接並且ping成功。
- 我的設置有什麼問題。
- 我該如何解決這個問題。
你是在unix系統上運行的嗎? – 2011-02-26 11:57:10
不,我在Windows Vista上運行它基礎知識os – 2011-02-26 12:40:26
成功的Windows控制檯ping的平均ping時間是多少?什麼是第一次ping時間?如果您的第一次ping時間大於1100,isReachable()將超時並返回false。 – nrobey 2011-02-26 13:57:58