0

这是一个简短的描述。

Android 服务有一个线程从服务器接收数据包。它被称为“接收器”。
它正在等待一个带有 的数据包inputStream.read()

问题场景是这样的:

  1. 服务器发送一些请求数据包。
  2. 接收线程必须唤醒并处理数据包,但不工作并打印日志。
  3. 服务器关闭连接。
  4. 因此,客户端的其他线程关闭了连接。
  5. 接收器突然以“ECONNRESET”终止。

通常它运作良好。我认为这个问题会在几个小时内发生一次。

我想这可能是由于手机的过载或睡眠状态引起的。
但我无法决定哪个是明确的。

我想出的解决方案目前是这样的:

  1. 增加接收线程优先级。
  2. 使用唤醒锁和wifi锁。

我还没有尝试过,因为它与我的商业客户有关。你能就这个问题发表你的看法吗?

4

0 回答 0