2012-12-17 29 views
0

我想獲得如何在防火牆活動的Windows系統中使用InetAddress的示例或建議。我不知道什麼被防火牆阻止,不允許這個類在Windows中工作。如何在帶有防火牆的Windows主機中使用InetAddress

當我嘗試使用防火牆窗口此代碼禁用我得到的主機名和isReachable爲true:

InetAddress addrs = null; 
try { 
    addrs = InetAddress.getByName("192.168.1.1"); 
    System.out.println(addrs.getHostName()); 
    System.out.println(addrs.isReachable(100)); 
} catch (UnknownHostException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

但激活防火牆,我得到false,我可以使用策略呢?

回答

2

您必須配置防火牆以允許JVM(java.exe)打開連接。 java代碼不需要改變,這是一個配置問題。

+0

你好,我允許java在我的防火牆外出,但缺少一些東西,我的第一個println現在與防火牆一起工作,但第二個println返回false,需要更多的東西來允許使用ICMP或端口TCP 7爲isReachable方法? –

+0

哪臺電腦是'192.168.1.1'?也許這是你自己的機器? – SJuan76

+0

不,我運行我的程序從一個Ubuntu(VMWare播放器)有IP 192.168.1.5,該IP是我真正的機器,是Windows 7(192.168.1.1)從Ubuntu我可以做平反之亦然。 –