2013-05-11 9 views
8

Ich habe viel nach dieser Ausnahme gesucht, die rarely auftreten, aber ich habe keine relevante Antwort gefunden, die mein Problem lösen kann , Ich benutze HttpURLConnection, um Antwort als XML von einer URL zu erhalten, es funktioniert gut, aber manchmal bekomme ich diese Ausnahme:
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer) Ich habe folgenden Code verwendet und URL1 ist meine URL, die ein XML gibt.java.net.SocketException: recvfrom fehlgeschlagen: ECONNRESET (Verbindung zurückgesetzt durch Peer) tritt einige Male auf

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

haben eine Verbindung Zeitüberschreitung http://stackoverflow.com/questions/11638634/android-how-to-set-a-http-connection-timeout-and- react-to-it – Raghunandan

+0

Ich habe das gleiche Problem .. – Dediqated

+0

mögliche Duplikate von [Getting "SocketException: Verbindung zurückgesetzt von Peer" in Android] (http://stackoverflow.com/questions/11207394/getting-socketexception-connection-reset -by-peer-in-android) –

Antwort

-1

öffnen Sie Ihren Browser Sie verwenden, und versuchen, das Kopieren der Urland es in Ihrem Browser Ihres mobilen Geräts einfügen, wenn Sie immer noch die gleichen Fehler oder kann Verbindung abgelehnt, dass bedeutet, dass Ihr MOBILE und Ihrem PC, auf dem Server Läufe sind nicht auf dem gleichen Plan.

+0

Ja, ich habe dieses Ding, aber es öffnet sich im Browser von Mobile, wie ich erklärte, es ist 5 mal von 20 mal getestet. –

+0

Nein, tut es nicht. Es kann keine Verbindung zum Zurücksetzen geben, wenn keine Verbindung besteht, und es kann keine Verbindung bestehen, wenn zwischen den Peers kein Netzwerkpfad vorhanden ist. – EJP

2

Ich hatte ein ähnliches Problem, wenn ich versuchte, mit meinem Server zu sprechen. Ich bin immer noch nicht sicher, was passiert ist, aber ich fand this in meiner Suche das Problem zu beheben:

ok, war die Antwort, dass es die Server-Fehler ist - es die Verbindung nach jeder Anfrage schließen mußte. Es könnte sein, dass Android einen Pool von Verbindungen hält und den alten oder etwas ähnliches verwendet. Wie auch immer, jetzt funktioniert es.

Nach dem Lesen dieser Post, ich tötete die apache Instanz auf meinem Server laufen, lassen Sie das Telefon sehen, dass die Verbindung abgelehnt wurde, und neu gestartet apache. Danach verschwand das Problem. Hoffe das hilft!

10

Versuchen Sie Put urlConnection.setRequestProperty ("Verbindung", "schließen"); vor dem Verbinden. Dies wird Keep-Alive-Eigenschaft deaktivieren, die standardmäßig aktiviert ist

+0

Wie setze ich das für HttpClient oder HttpPost? –

Verwandte Themen