0

Webからデータを収集するJavaプログラムがあります。残念ながら、私のネットワークには問題があり、それは何度も繰り返されます。
接続が再びオンになるまでプログラムを待機し、その作業を続行するようにプログラムに依頼するためのトリックが必要です。
「URLConnection」ライブラリを使用して接続します。「ConnectException」がキャッチされたときに再接続するためのループを作成しましたが、機能しません。
助言がありますか?

4

1 に答える 1

1

私のネットワークに問題があり、それが何度も繰り返されます。接続が再びオンになるまでプログラムを待って、その仕事を続けるように頼むためのトリックが必要です

それはあなたのプログラムの目的に依存します。
これらの断続的な障害はどのくらいですか?それらが十分に短い場合は、setConnectTimeout(0)を使用して、接続の試行中に無限のタイムアウト期間を示すことができますが、プログラムが何かを報告する必要がある場合は、エンドユーザーにとって適切なオプションではありません。
比較的低いタイムアウトを設定して、ネットワークを失い始めたときにを取得できるようにすることができますjava.net.SocketTimeoutException
これを見つけたら、しばらく待って、ループで3回再試行してから、失敗を報告することができます。
それはあなたが何をしようとしているのかによります。

于 2012-05-05T19:54:43.733 に答える