1

我有一个带有一些方法的 REST 网络服务。

我正在使用 Apache HttpClient 4 向其他人发送请求。

当我与这个休息建立联系时,以一种更大更慢的方法,它会抛出一个NoHttpResponseException.

谷歌搜索后,我发现服务器正在切断与我的客户端应用程序的连接。

因此,我尝试以这种方式禁用超时:

DefaultHttpClient httpclient = null;
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 0);
HttpConnectionParams.setSoTimeout(params, 0);
HttpConnectionParams.setStaleCheckingEnabled(params, true);

httpclient = new DefaultHttpClient(params);
httpclient.execute(httpRequest, httpContext);

但它失败了。请求在 15 秒内终止(可能是默认超时?)有谁知道最好的方法?

4

1 回答 1

1

我建议您在超时发生之前将数据返回给客户端。这可能只是一些对客户端说“工作”的字节。通过将数据涓涓细流,您应该能够使客户端保持活动状态。

于 2012-10-19T14:40:00.793 回答