2013-05-11 198 views
8

我已經搜索了很多這種異常,這種情況發生了,但我沒有找到任何相關的答案,可以解決我的問題, 我使用HttpURLConnection得到響應從URL的XML,它工作正常,但有時我得到這個異常:
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer), 我用下面的代碼,併爲url1是我的網址這給XML。java.net.SocketException:recvfrom失敗:ECONNRESET(連接重置由對等)發生了一些

url=new URL(url1); 
urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.setDoInput(true); 
urlConnection.connect(); 
InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
String result, line = reader.readLine(); 
result = line; 
      while((line=reader.readLine())!=null) 
         { 
       result+=line; 
      } 

      System.out.println("Result: "+result); 
+0

有一個連接超時http://stackoverflow.com/questions/11638634/android-how-to-set-a-http-connection-timeout-and-反應它 – Raghunandan 2013-05-11 04:31:38

+0

我有同樣的問題.. – Dediqated 2013-05-22 10:24:43

+0

可能重複[獲取「SocketException:連接重置由對等」在Android](http://stackoverflow.com/questions/11207394/getting-socketexception-connection-reset在Android平臺上) – 2014-04-09 02:09:09

回答

-1

打開您使用的瀏覽器,並嘗試複製urland粘貼到您的移動設備的瀏覽器,如果你仍然得到同樣的錯誤,也可以拒絕連接,這意味着你的手機和PC上的服務器運行不在同一個計劃中。

+0

是的,我做了這件事,但它是在移動瀏覽器中打開,正如我解釋說,它發生了20次測試中的5次。 – 2013-05-11 04:44:21

+0

不,它不。除非有連接,否則無法建立連接進行重置,除非對等體之間存在網絡路徑,否則無法建立連接。 – EJP 2017-05-17 07:28:35

2

當我嘗試與我的服務器通話時,我遇到了類似的問題。我仍然不知道發生了什麼,但我發現this在我的搜索來解決問題:

確定,得到的答覆是,這是服務器的故障 - 它不得不關閉,每個請求後 連接。這可能是因爲android保持連接池 並使用舊的或類似的東西。無論如何, 現在它的工作。

閱讀這篇文章後,我殺了apache比如我的服務器上運行,讓手機看到,連接被拒絕,並重新啓動apache。之後,問題消失了。希望這可以幫助!

10

嘗試put urlConnection.setRequestProperty(「connection」,「close」);連接之前。這將禁用默認開啓的保持活動屬性

+0

如何爲HttpClient或HttpPost設置? – 2016-06-30 06:10:10

相關問題