2012-10-19 74 views
0

我有一些使用某些方法的REST web服務。在Apache Httpclient請求中禁用或延遲超時

我將請求發送到其餘與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秒內死亡(可能的默認超時?) 有誰知道這樣做的最佳方式?

回答

1

我建議您在發生超時之前將數據返回給客戶端。這可能只是一些字節,表示向客戶端「工作」。通過滴出數據,你應該能夠保持客戶端的活着。