2011-11-11 68 views
3

我必须开发一个应用程序,收集一些数据(从数据库或平面文件或其他内容)并连接到作为存储库的服务器并将数据存储在其中。
的功能要求是:网络可用时自动连接到互联网

  • 客户端应用程序必须检测可用的网络
  • 自动连接到网络
  • 询问用户认证...的如:互联网

任何一个请建议我应该使用什么API。
是否有可能使用java?

回答

1

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

确保您为了不completelly阻挡的情况下,连接的应用程序中使用低通超时是不存在的。

如果你不使用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秒内决定是否有连接或不应该够了。否则它可能永远阻止。

+0

okey我有一个小的清晰度THX的答案我试试看,如果它运作良好,它将是我的SRS的一个很好的插件:) thx –

2

我只是假设你已连接到互联网并尝试连接。如果失败,请稍等一会再试。广告恶心。

即你不需要知道互联网是否可用来尝试和使用它。

1

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