Android 使用 InetAddress 判断指定主机是否能够链接

Android 使用 InetAddress 判断指定主机是否能够链接,第1张

概述Android使用InetAddress判断指定主机是否能够链接方法一(失败)要判断一个IP或网站是否能够连接上自己在子线程中使用如下代码:(注意:在主线程使用网络请求一般不被允许,因此使用InetAddress会导致报错)//根据主机名称获得主机名称对象InetAddresshost=InetAddress AndroID 使用 InetAddress 判断指定主机是否能够链接方法一(失败)

要判断一个IP或网站是否能够连接上
自己在子线程中使用如下代码:(注意:在主线程使用网络请求一般不被允许,因此使用InetAddress 会导致报错)

  //根据主机名称获得主机名称对象    InetAddress host = InetAddress.getByname("www.baIDu.com");  //检查该主机在规定的时间内能否连上  boolean isReachable = host.isReachable(5000);  /**  *注意这里一直链接失败,直接使用java写一个测试类能够链接远程主机,但是在AndroID中不能链接,  *未寻找到原因。。。。。。    */   String  desc = "";   if(isReachable){//可以链接       desc = String.format("%s\n 主机名为%s\n 主机地址为%s \n当前时间为%s",              desc,host.getHostname(),host.getHostAddress(),DateUtil.getNowTime());   }else {       desc = "无链接,当前时间为:"+ DateUtil.getNowDateTime()+"";   }
方法二(成功)

在子线程中引用如下方法

//这里的path 可以设置为 “www.baIDu.com”  端口设置为 80    public static boolean isOnline(String path,int port) {        try {            int timeoutMs = 1500;            Socket sock = new Socket();            SocketAddress sockaddr = new InetSocketAddress(path, port);            sock.connect(sockaddr, timeoutMs);            sock.close();            return true;        } catch (IOException e) { return false; }    }
结果
是否链接上:true

如果有谁能够知道第一个怎么回事,希望不吝赐教

总结

以上是内存溢出为你收集整理的Android 使用 InetAddress 判断指定主机是否能够链接全部内容,希望文章能够帮你解决Android 使用 InetAddress 判断指定主机是否能够链接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存