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