QXH
QXH
  • 发布:2018-01-04 09:40
  • 更新:2018-01-04 21:38
  • 阅读:1357

如何写个后台服务,定时与服务器通讯?

分类:HTML5+

我现在是写个setInterval,放在index页面中,但是这样按返回键退出APP,或按HOME键切换,试了试setInterval都会没有效果,改如何做,弄个后台也可以运行的呢 ?

哪位大神了解,求教。

2018-01-04 09:40 负责人:无 分享
已邀请:
王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

在客户端定时向服务器通信,
第一种,是客户端向服务器定时通信,这种做法是用setInterval 定时轮询,但当APP返回退出,或按HOME,在后运行时,setInterval 就会有问题了。
1.这时可以,当APP完全退出后,记录上一次通信的时间, 当用户重新打开APP时,就访问服务器,判断是否过了定时的时间,是就重新获得或提交数据给服务器。

  1. 当APP是返回在后台运行,会导致setInterval 失效,这时可以监听,返回后台,或前台显示的事件,
  2. 当APP重新返回前台显示时,再去访问服务器时间,是否要通信了, 再重新激活 setInterval ,
  3. 客户端的大概思路

    
    //程序在后台切换到前台  
    document.addEventListener("resume",function()  
            {  
    
            }, false);  

//程序在前台切换到后台
document.addEventListener("pause", function()
{

        }, false);


第二种是在服务器端定时,向客户端推送数据,如果客户端是关闭的,就收不到了,也是要等用户打开APP才能接收到,相当于当用户打开APP, 主动向服务器通信一次, 还是让客户端主动向服务器通信好点吧
  • 下雨咯

    您说的“当APP完全退出后,访问服务器”用什么api实现啊 怎么就退出app再打开时自动调取api啊 我现在有个手势解锁的需求和这个差不多 前后台切换我做好了 但是退出app就没办法在调我的手势锁屏了 求解答.

    2018-01-05 14:00

  • 王者地带

    完全退出的话就没办法了,当用户再次打开APP时,你再访问服务器获得数据就行了,手势解锁,你要用localStorage 记住是否处于锁屏状态,当下一次用户打开APP时再判断,如果是,就打开手势解锁页面,手势解锁页面记得取消返回功能

    2018-01-05 17:18

健健

健健

客户端退出后是无法和服务器通讯的,但是切换到后台是可以保持通讯的 可以使用 websocket

该问题目前已经被锁定, 无法添加新回复