2

Apache HttpClient 4.2.5 を使用しており、接続タイムアウトを 30 秒に設定する必要があります。私は次のことを行います:

int timeout = 30 * 1000;
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, timeout);
HttpConnectionParams.setSoTimeout(params, timeout);
HttpClient client = new DefaultHttpClient(params);

HttpGet request = new HttpGet(url.toURI());
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, timeout);
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, timeout);
HttpResponse response = client.execute(request);

しかし、12 秒後に NoRouteToHostException が client.execute(request) からスローされます。私が理解しているように、ここでは CONNECTION_TIMEOUT と SO_TIMEOUT は役に立ちません。NoRouteToHostException のタイムアウトを設定する方法はありますか? この時間内にそのサーバーが利用可能になることを願っています。コメントやアドバイスをありがとう!

4

0 に答える 0