首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android改造我有时会得到ECONNRESET,我不知道为什么

Android改造我有时会得到ECONNRESET,我不知道为什么
EN

Stack Overflow用户
提问于 2016-12-02 16:01:02
回答 1查看 187关注 0票数 3

我收到来自后端公司的伪随机ECONNRESET。我说“伪随机”,是因为尽管它发生的方式并不相同,但我几乎每一次都会通过大量的请求来激发它。

我典型地从活动的生命周期事件启动下载,因此我使用RetrofitCall.enqueue()在后台进行网络连接。在代码中似乎造成麻烦的部分,我从后台线程启动了一系列下载(大约15条用于jsons的REST路由和5-6个文件)。在这种情况下,ECONNRESET将在3条称为REST的路径中进行2/3的尝试。

没有更多的解释服务器端,我们记录的唯一东西是读/写ECONNRESET。

以下是我尝试过的:

  • 更新到okhttp 3.5.0 (从3.2.0)和更新2.1.0 (从2.0.2)
  • 我在请求头中添加了"Connection:close“,以防止保持活动。
  • 我把我的总池减少到1:.connectionPool(new ConnectionPool(0, 1, TimeUnit.SECONDS))

它发生在我的手机(Android 6)上,我没有其他手机来测试代码。我与我的AVD有一些无关的麻烦,这使得我无法在不同的android版本上进行测试(很快就会被修复)。

你知道是什么引起的吗?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 10:16:38

为了记录,我在我的文件下载方法中使用了HttpURLConnection (我的REST通过修改和okhttp被质疑),我将它更改为okHttp,现在一切都好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40936290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档