android项目开发之动态任务的实现
- 开机自启动,进入第2步的步骤a。
- 定时器定时请求服务端。
a. 判断此时客户端是否已经完成任务,定时器发送http请求服务端,用于保持心跳,证明客户端准备好了,可以分配任务,服务端返回标志位1,表示服务端收到用户请求,且此时客户端未完成过任务,完成第一次握手。一直保持心跳直到服务端主动分配任务。如果标志位为3,表示已经完成了一个任务,关闭定时器
b.服务端主动分配任务,发送任务信息,以及标志位2,客户端一旦发现标志位为2时,存储任务信息,完成任务,完成第二次握手。
c.客户端完成任务,发送完成任务请求给服务端,服务端接收到响应,完成第三次握手。如果第三次握手失败,或者没有在服务端规定的时间内完成第三次握手,那么任务客户端完成任务失败,重新进入步骤a。
d.服务端接收到客户端的完成任务确认消息之后,返回标志位3给客户端,表示任务确认成功,并关闭定时器。否则进入步骤a。