我收到来自后端公司的伪随机ECONNRESET。我说“伪随机”,是因为尽管它发生的方式并不相同,但我几乎每一次都会通过大量的请求来激发它。
我典型地从活动的生命周期事件启动下载,因此我使用Retrofit的Call.enqueue()在后台进行网络连接。在代码中似乎造成麻烦的部分,我从后台线程启动了一系列下载(大约15条用于jsons的REST路由和5-6个文件)。在这种情况下,ECONNRESET将在3条称为REST的路径中进行2/3的尝试。
没有更多的解释服务器端,我们记录的唯一东西是读/写ECONNRESET。
以下是我尝试过的:
3.5.0 (从3.2.0)和更新2.1.0 (从2.0.2).connectionPool(new ConnectionPool(0, 1, TimeUnit.SECONDS))它发生在我的手机(Android 6)上,我没有其他手机来测试代码。我与我的AVD有一些无关的麻烦,这使得我无法在不同的android版本上进行测试(很快就会被修复)。
你知道是什么引起的吗?
谢谢,
发布于 2016-12-07 10:16:38
为了记录,我在我的文件下载方法中使用了HttpURLConnection (我的REST通过修改和okhttp被质疑),我将它更改为okHttp,现在一切都好了。
https://stackoverflow.com/questions/40936290
复制相似问题