Home » Android » android – java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer) is occuring some times

android – java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer) is occuring some times

Posted by: admin June 15, 2020 Leave a comment


I have searched a lot for this exception, which rarelly occur, but I didn’t find any relevant answer which can solve my problem,
I am using HttpURLConnection to get response as a xml from a url, it works fine but sometimes i get this exception:
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer),
I have used following code and url1 is my url which gives a xml.

url=new URL(url1);
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String result, line = reader.readLine();
result = line;

           System.out.println("Result: "+result);
How to&Answers:

Try put urlConnection.setRequestProperty(“connection”, “close”); before connecting. This will disable keep-alive property which is on by default


I had a similar problem when trying to talk with my server. I’m still not sure what happened, but I found this in my search to resolve the issue:

ok, the answer was that it’s the server’s fault – it had to close the
connection after each request . it might be that android keeps a pool
of connections and use the old one or something like that . anyway ,
now it works.

After reading this post, I killed the apache instance running on my server, let the phone see that the connection was refused, and restarted apache. After that, the issue disappeared. Hope this helps!


In my case i changed from http to https and everything became normal


open your browser you are using and try copying the urland paste it into your browser of your MOBILE DEVICE , if you still get the same error or may be connection refused that means your MOBILE and YOUR PC on which server runs are not on the same plan.