2011-11-11 65 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

瞭解網絡或任何其他資源的最佳方法是嘗試使用它。你實際上無法預知未來;-)只是嘗試建立你需要的連接,並處理失敗。