PHP如何实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android?
PHP实施监听数据库,数据库一单有更新,就将数据发送给PHP(听说ajax可以实现,不希望用网页实时刷新的办法,效率太低,也耗流量),当PHP取得更新的数据库后,PHP立刻将更新的数据推送给Android客户端?
附加问题,数据库需不需要写触发器,如歌可以的话,希望能有源码。
------解决思路----------------------
~~百度云推送
------解决思路----------------------
用定时任务跑脚本吧。
------解决思路----------------------
那段话是在忽悠人,连他自己都不会相信。只是美好的愿望而已
首先,ajax 连接是由客户端发起的,即便能得到数据也不是“推送”
其次,发起新的Ajax请求、发起下个Ajax请求 这就明确的表示连接是由一次次的短连接组成的,并不存在所谓的长连接
再者,用户没有操作,则连接处于睡眠状态 既如此,如果用户一直没有操作,那不就得不到更新的内容了吗?
如果你是用的是 sql server 数据库,那么可以通过触发器调用存储过程。而 SQL server 的存储过程是可以执行系统命令的,于是你就可以通过发短信之类的形式通知用户数据已更新了
------解决思路----------------------
长链接的方式是可以应该是可以达到这种效果的,可以参考微信网页版的二维码登录;
具体实现原理,按照我的理解应该是这样的:
客户端发起一个ajax请求,服务端查询数据库是否有新的数据,有则返回结果,没有则sleep 几秒再次查询,重试一定次数后不论是否成功都返回结果,客户端继续发起新的请求,重复前面的过程;