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)
,但似乎並非如此,因爲它在連接建立之前已超時。什麼是解決這種情況的常用方法?
超時連接建立之前?那麼你不會一直到while循環,或者我誤解了一些東西? – posdef 2011-12-19 15:49:42
對不起,我寫了不明白在這裏。我的意思是在類HttpURLConnection中找到這樣的方法;)沒有超時在我的代碼.. – whatswrong 2011-12-20 10:09:04
無後顧之憂我很高興,如果我可以幫助解決這個問題,不管它是什麼:) – posdef 2011-12-20 10:18:07