我使用DefaultHttpClient從服務器獲取數據,但偶爾發生NoHttpResponseException。Android上的HttpClient:NoHttpResponseException根本原因在我的項目中,是不是?
我refered這個帖子a link和
HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false);
不會爲我工作。
我用HttpRequestRetryHandler爲了避免這個問題,和它的作品,但我不認爲這是因爲通過在服務器端tcpdump的甩了網絡數據包的完美方法。
我發現,當發生NoHttpResponseException時,連接到服務器時使用新端口,而不是此請求之前使用的舊端口(HttpClient不重用舊連接)。但是當從客戶端連接到服務器端的新端口時,我沒有找到任何tcp 3-way握手數據包。但基於tcp理論,握手是建立新連接的必要步驟。
我不知道它是否是android的bug(我正在使用android 2.3進行測試),有沒有人有想法?提前致謝。