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 のタイムアウトを設定する方法はありますか? この時間内にそのサーバーが利用可能になることを願っています。コメントやアドバイスをありがとう!