网络可用时自动连接到互联网

时间:2011-11-11 07:19:13

标签: java network-programming

我必须开发一个应用程序,它收集一些数据(来自数据库或平面文件或其他东西)并连接到一个存储库并将数据存储在服务器中。 功能要求是:

  • 客户端应用程序必须检测可用网络
  • 自动连接到网络
  • 要求用户进行身份验证...例如:internet

任何人请建议我应该使用什么API 是否可以使用java?

3 个答案:

答案 0 :(得分:2)

我只是假设您已连接到互联网并尝试连接。如果失败,请稍等一下再试一次。 ad nauseum。

即。您无需知道互联网是否可以尝试使用它。

答案 1 :(得分:1)

要回答“互联网可用性”问题,我建议您使用apache HttpClient,然后尝试从已知网址中提取内容,例如www.google.com甚至是与您的特定任务相关的网址。如果成功,那么你知道你已经有了互联网连接。

确保使用低连接超时,以便在没有连接的情况下不会完全阻止应用程序。

如果你不使用HttpClient而是使用普通Java,那么使用神秘的设置超时:

System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); // 10 seconds connect timeout
System.setProperty("sun.net.client.defaultReadTimeout", "60000");    // 60 seconds read timeout

10秒确定你是否有连接应该就够了。否则它可能永远阻止。

答案 2 :(得分:1)

了解网络或任何其他资源的最佳方法是尝试使用它。你实际上无法预知未来;-)只是尝试建立你需要的连接,并处理失败。