Reputation: 81
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();
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);
Upvotes: 8
Views: 31158
Reputation: 536
In my case i changed from http to https and everything became normal
Upvotes: 0
Reputation: 3767
Try put urlConnection.setRequestProperty("connection", "close"); before connecting. This will disable keep-alive property which is on by default
Upvotes: 10
Reputation: 2803
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!
Upvotes: 2
Reputation: 12743
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.
Upvotes: -1