我按照kuester2000的回答的指示操作,但是我的超时设置似乎无法生效。
try
{
int timeout = 3000;
URL myURL = //some valid URL
AndroidHttpClient = AndroidHttpClient.newInstance("name");
HttpGet httpGet = new HttpGet(myURL.toExternalForm());
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, timeout);
HttpConnectionParams.setSoTimeout(httpParams, timeout);
HttpResponse response = httpClient.execute(httpGet);
//...
}
catch (SocketTimeoutException e)
{
e.printStackTrace();
}
catch (ConnectTimeoutException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
//...
然而,超时值并没有改变任何东西。
在我提供的答案中,它也说:
连接超时会抛出“java.net.SocketTimeoutException:Socket未连接”,套接字超时会抛出“java.net.SocketTimeoutException:操作超时”。
但是我两个都没有得到。相反,我得到了“org.apache.http.conn.ConnectTimeoutException:连接到…超时”。
那么有人可以帮我吗?问题在哪里?