Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 数据包接收线程没有';我有时不工作_Android_Android Service - Fatal编程技术网

Android 数据包接收线程没有';我有时不工作

Android 数据包接收线程没有';我有时不工作,android,android-service,Android,Android Service,这里是一个简短的描述 Android服务有一个线程从服务器接收数据包。它被称为“接收器”。 它正在等待带有inputStream.read()的数据包 问题场景如下所示: 服务器发送一些请求包 接收方线程必须唤醒并处理数据包,但不工作并打印日志 服务器关闭连接 所以,客户端的另一个线程关闭了一个连接 接收器突然以“EconReset”终止 通常效果很好。我认为这个问题每隔几个小时就会出现一次 我想这可能是由于手机过载或睡眠状态造成的。 但我无法决定哪一个是明确的 我提出的解决方案目前是这样的:

这里是一个简短的描述

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

问题场景如下所示:

  • 服务器发送一些请求包
  • 接收方线程必须唤醒并处理数据包,但不工作并打印日志
  • 服务器关闭连接
  • 所以,客户端的另一个线程关闭了一个连接
  • 接收器突然以“EconReset”终止
  • 通常效果很好。我认为这个问题每隔几个小时就会出现一次

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

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

  • 增加接收器线程优先级
  • 使用唤醒锁和wifi锁

  • 我还没有试过,因为这与我的商业客户有关。您能就这个问题提供您的意见吗?

    如果您还没有,您能尝试在服务中添加您的网络线程吗。@Milanix对不起,“添加”是什么意思?