首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IP地址不可达

问IP地址不可达
EN

Stack Overflow用户
提问于 2015-06-03 05:46:54
回答 1查看 1.6K关注 0票数 0

我试图知道是否可以使用下面的代码访问IP地址。但每次我都“无法到达”,即使机器在运行。我试过使用几个活着的I,但我总是“联系不到”。请帮帮忙。

代码语言:javascript
复制
public class CheckIP {
public static void main(String args[]) throws UnknownHostException, IOException{
    String ip = "78.46.84.171";

    if(InetAddress.getByName(ip).isReachable(100)){
        System.out.println("Reachable.");
    }
    else{
        System.out.println("Not Reachable.");
    }
}
}
EN

回答 1

Stack Overflow用户

发布于 2015-06-03 05:58:52

你能从命令行打开机器吗?例如ping 78.46.84.171

根据oracle文档

测试是否可以访问该地址。实现尽最大努力试图到达主机,但是防火墙和服务器配置可能会阻止请求,从而导致无法访问的状态,而一些特定的端口可能是可访问的。如果可以获得特权,典型的实现将使用ICMP回送请求,否则它将尝试在目标主机的端口7 ( ECHO )上建立TCP连接。 超时值(以毫秒为单位)指示尝试应花费的最大时间。如果操作在得到答案之前超时,则认为无法到达主机。负值将导致抛出IllegalArgumentException。

对占有性错误进行总结:

  • 防火墙是否阻止ICMP请求?(见上面ping命令)
  • 也许你对100 ms的超时是短暂的(尝试增加到,例如1000)
  • 你在使用Linux / Mac吗?也许您缺乏执行pings的权限,所以isReachable(int)实现尝试了TCP,但失败了。(尝试windows机器,或以root用户身份或通过sudo执行程序)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30611761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档