【问题标题】:how to use InetAddress in Windows host with firewall如何在带有防火墙的 Windows 主机中使用 InetAddress
【发布时间】:2012-12-17 23:58:58
【问题描述】:

我想获得有关如何在防火墙处于活动状态的 Windows 系统中使用 InetAddress 的示例或建议。我不知道防火墙阻止了哪些不允许 Windows 中的此类工作。

当我尝试在禁用防火墙的 Windows 中使用此代码时,我将主机名和 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,我可以为此使用策略吗?

【问题讨论】:

    标签: java network-programming inetaddress


    【解决方案1】:

    您必须配置防火墙以允许 JVM (java.exe) 打开连接。 java代码不用改,是配置问题。

    【讨论】:

    • 您好,谢谢,我允许 java 在我的防火墙中输入,但缺少一些东西,我的第一个 println 现在在防火墙打开的情况下工作,但是第二个 println 返回 false,需要允许更多的东西为 isReachable 方法使用 ICMP 或端口 TCP 7?
    • 哪台电脑是192.168.1.1?也许是你自己的机器?
    • 不,我正在从具有 ip 192.168.1.5 的 ubuntu(VMWare 播放器)运行我的程序,该 ip 是我的真实机器,即来自 Ubuntu 的 windows 7 (192.168.1.1) 我可以执行 ping反之亦然。
    • 我认为您连接到有防火墙的 Windows 机器,而不是从那台机器?仍然是一个配置问题,允许192.168.1.1 中的 ICMP / ping 消息。
    猜你喜欢
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多