作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我从 url.openStream() 捕捉到异常时,我不想用困难的方式告诉我互联网不可用。
有没有一种简单的方法可以用 Java 判断计算机是否已连接到 Internet?在这种情况下,“连接到互联网”意味着能够从特定的 url 下载数据。
如果我尝试从它下载但它不可用,那么程序会挂起一点。我不想那样挂。因此,我需要一种快速查询网站是否可用的方法。
最佳答案
你试图避免的问题是等待你的http连接来确定你试图访问的URL确实不可用。为了实现这一点,您需要停止使用 url.openStream() 这是 openConnection().getInputStream() 的快捷方式,并更好地控制您的连接。
URLConnection conn = url.openConnection();
conn.setConnectTimeout(timeoutMs);
conn.setReadTimeout(timeoutMs);
in = conn.getInputStream();
如果连接或读取超过您在 timeoutMs 参数中提供的时间,此代码将允许您使连接尝试超时。
关于java - 我如何用 Java 测试互联网的可用性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644856/
我是一名优秀的程序员,十分优秀!