用httpclient訪問后台接口報錯java.net.SocketException: Software caused connection abort: recv failed,百度了一圈都說是由於服務器端關閉了連接,說是因為長連接的問題,於是我就把httpclient的請求設置為短連接
HttpPost httpPost=new HttpPost(url); httpPost.setProtocolVersion(HttpVersion.HTTP_1_0); httpPost.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
但是問題還是存在java.net.SocketException: Connection reset,后來想着是服務器端關閉了連接才想到代碼里用了多線程,公用的代碼沒有做同步,於是把httpclient公用方法加synchronized關鍵字,問題解決