在做文件下载时请求报错:java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
在网上找了半天 有人总结了三个原因:
1、服务器中断;
2、网络连接非常慢的时候
3、下载大文件时,频繁请求服务器,请求的端口一直被占用
解决此问题的办法网上有说Range头设置不对的但是我的问题依然无法解决,有的说google给了解决方案:
private static void disableConnectionReuseIfNecessary() { <span style="white-space:pre"> </span>// Work around pre-Froyo bugs in HTTP connection reuse. <span style="white-space:pre"> </span>if (Integer.parseInt(Build.VERSION.SDK) < Build.VERSION_CODES.FROYO) { <span style="white-space:pre"> </span>System.setProperty("http.keepAlive", "false"); <span style="white-space:pre"> </span>} }
但是我的问题依然没解决,
最后我查看了一下我的代码发现我用的是get请求 而我这里应该用post请求 丫的 奇怪的是 我用get请求用wifi下载文件是成功的,用手机流量请求联通4G和电信4G也是成功的 只有用移动的4G时会报这个错,搞不懂~~~