2011-12-19 14 views
1

タイムアウトの問題をお読みください。これを達成するために私はHttpURLConnectionを使用します。問題は、時々接続後、サーバが確立されていることであるだけでハングまたは何、近くに接続しない、と私はそこにハングアップします。 D コード::またそれ絞首刑スレッドはので、すべての他のすべてのスレッドがちょうど吸引され、ロックを取得しのJava HTTPは私がリモートサーバーからいくつかのデータを取得しようとしています

try { 
     URL url = new URL(urlString); 
     URLConnection urlConnection = url.openConnection(); 
     HttpURLConnection connection = (HttpURLConnection) urlConnection; 

     BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName(CharEncoding.UTF_8))); 
     StringBuilder sb = new StringBuilder(); 
     String line; 
     while ((line = br.readLine()) != null) { 

最終ラインを私たちがぶら下がっているところです。私はこの方法setConnectTimeout(timeout)を見つけましたが、接続が確立される前に、それがタイムアウトであるため、これがそうでないようです。そのような状況を解決するための一般的な方法は何ですか?接続は(リード時そうな)確立された後

+0

タイムアウトのようなものについては接続が確立する前にタイムアウトを意味と仮定?あなたはwhileループにすべての道を降りてくるではないでしょうか、私は何かを誤解しています? – posdef

+0

申し訳ありませんが、私は明確なhere.IがクラスHttpURLConnectionの中に、このような方法を発見したことを意味するものではない書いていない;)いいえタイムアウトが私のコードではなかった... – whatswrong

+0

心配を私はそれが:) – posdef

答えて

3

、どのようにこの

URLConnection urlConnection = url.openConnection(); 
urlConnection.setConnectTimeout(c_timeout); 
urlConnection.setReadTimeout(r_timeout); 
stream = urlConnection.getInputStream(); 
+0

だったものは何でも問題を解決するのに役立つことができれば、私はうれしいですああ、私はこの方法を見つけられませんでした。読み取りタイムアウトがこの問題を解決すると思われます。ありがとう! tommorowを試みます。 – whatswrong

関連する問題