2012-05-05 14 views
0

Webからデータを収集するJavaプログラムがあります。 残念ながら、私のネットワークに問題があり、ネットワークが途切れることがあります。
接続が再びオンになり、ジョブが続行されるまで、私のプログラムに待つようなトリックが必要です。
私は "URLConnection"ライブラリを使用して接続します。 "ConnectException"がキャッチされたときに再接続するためのループを作成しましたが、動作しません。
提案がありますか?Javaプログラムとネットワーク接続のタイムアウト

+0

接続コードを記入し、正確に「動作しない」ものを教えてください。 – Tudor

+0

あなたには例外があります。 – Jeremy

+0

さて、それは接続されており、私はそれをテストすることはできません、私は待つ必要があります!申し訳ありません –

答えて

1

私のネットワークに問題があり、電源が切れてしまいます。私は、接続が再びオンになっていて、それはあなたのプログラムの目的が何であるかに依存し、その仕事

を継続するまで 私のプログラムウェイトを依頼するトリックを必要としています。
これらの断続的な障害の発生時間はどのくらいですか?それらが十分に短い場合、接続しようとしている間に無限のタイムアウト期間を示すためにsetConnectTimeout(0)を使用できますが、プログラムが何かを報告しなければならない場合、それはエンドユーザには適していません。
比較的低いタイムアウトを設定すると、ネットワークが失われ始めたらjava.net.SocketTimeoutExceptionが得られます。
これをキャッチすると、一定期間待ってからループで再試行できます。おそらく失敗を報告します。
これは実行しようとしている内容によって異なります。

+0

あなたが提供したリンクにsetTimeout()メソッドはありません。 – EJP

+0

修正済みです。それは 'setConnectTimeout'です – Cratylus

関連する問題