java - 如何检查Java中是否存在互联网连接?

标签 java networking connection

如何检查是否可以通过 java 连接到 Internet?一种方法是:

final URL url = new URL("http://www.google.com");
final URLConnection conn = url.openConnection();
... if we got here, we should have net ...

但是是否有更适合执行该任务的方法,尤其是如果您需要经常连续检查并且很可能会断开互联网连接? p>

最佳答案

您应该连接到您的实际应用程序需要的位置。否则,您正在测试您是否与某个不相关的地方(在本例中为 Google)建立了连接。

特别是,如果您尝试与 Web 服务对话,并且您可以控制该 Web 服务,那么最好使用某种廉价的“获取状态”Web 方法。这样一来,您就可以更好地了解您的“真实”通话是否可能奏效。

在其他情况下,只需打开与应该打开的端口的连接就足够了 - 或者发送 ping。 InetAddress.isReachable在这里可能是满足您需求的合适 API。

关于java - 如何检查Java中是否存在互联网连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402005/

相关文章:

java - 从 Tomcat 中的池中中止/清除无效的数据库连接

java - Swing 双击

java - Maven:查看编译选项?

Android - 在网络中查找服务器

java - 连接Oracle是否需要clearBatch并取消?

SolrNet:如果当前使用的服务器出现故障,如何将 Solr 连接切换到另一台服务器?

Java 8 ToLongFunction 什么时候应该使用它?

java - "wrong"使用 java Apache XML RPC 3.1.3 服务器响应的数组类型

node.js - 使用 NodeJS 的路由器(代理)?

http - Haskell 找不到模块 `Network.HTTP.Conduit'