我已经搜索了很多这个例外情况,但是我没有找到任何可以解决我问题的相关答案,
我正在使用HttpURLConnection
从网址获取xml的响应,它工作正常,但有时我得到这个例外:
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
,
我使用了以下代码,url1是我的url,它提供了一个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);
答案 0 :(得分:10)
尝试put urlConnection.setRequestProperty(“connection”,“close”);在连接之前。这将禁用默认启用的保持活动属性
答案 1 :(得分:2)
尝试与我的服务器通话时遇到了类似的问题。我仍然不确定发生了什么,但我在搜索中发现this来解决问题:
好吧,答案是这是服务器的错 - 它必须关闭 每次请求后连接。它可能是android保持池 连接和使用旧的或类似的东西。无论如何, 现在它有效。
阅读此帖后,我杀死了服务器上运行的apache
实例,让手机看到连接被拒绝,然后重新启动apache
。之后,问题就消失了。希望这有帮助!
答案 2 :(得分:0)
在我的情况下,我从 http 更改为 https ,一切正常
答案 3 :(得分:-1)
打开您正在使用的浏览器并尝试将urland粘贴到您的MOBILE DEVICE浏览器中,如果您仍然遇到相同的错误或者可能是连接被拒绝,这意味着您的MOBILE和您运行的服务器上运行的PC没有打开同样的计划。