APP做用户排队功能,是拉取还是推送?

Sturn 发布于 2015/06/21 20:43
阅读 743
收藏 2

APP功能概述:用户打开APP有一个领取排队号的功能,领取到号后进入等待,等待的过程会显示你排到第几名,大概等待多久,用户会实时的看到排队的信息变化。有点像去银行排队办业务。

遇到的问题:我目前采用的是APP通过定时轮询请求服务端接口,如果APP突然断网,就会卡住队伍,后面的人排不到前面来。我这边写了一个计划任务在后台清理这些异常的用户,个人感觉不是十分理想,请教各位大牛,如果采取推送的方式是否比客户端轮询更有优势?(排队的人数肯定不会超过1000),如果采用推送是用计划任务还是通过某个用户服务完毕或刚加入队伍的用户进行触发推送,或者说有没有其他的方式?

目前还有一种情况就是如果采用APP轮询请求接口,一旦APP进入后台,也就是按了home键之类的,就不会继续请求我的接口,也会被后台程序认为是异常用户清除掉了。

加载中
1
头号大宝贝
头号大宝贝

推送合适。

1,当前排队1号结束的时候,触发消息推送。推送给在排队的所有用户。

2,解决用户Home回主页问题。

3,减轻服务器压力。

再细节一点就是。只粗略显示当前排队进度。例如,你前方还有100+人,或者50+人。

当进入前20的时候,才推送消息,进入排队倒计时阶段。

0
碳素云信息技术
碳素云信息技术
建议采用推送,用户服务完毕和新用户入队都要推送,包括用户退出队列等队列操作都需要推送。
0
S
Sturn

引用来自“头号大宝贝”的评论

推送合适。

1,当前排队1号结束的时候,触发消息推送。推送给在排队的所有用户。

2,解决用户Home回主页问题。

3,减轻服务器压力。

再细节一点就是。只粗略显示当前排队进度。例如,你前方还有100+人,或者50+人。

当进入前20的时候,才推送消息,进入排队倒计时阶段。

我当初没有采取推送的原因就是因为,如果一次推送1000个请求,并且很频繁的话服务器的压力会很大,如果采取第3条的话会降低服务器的开销
头号大宝贝
头号大宝贝
回复 @Sturn : 不好意思,php的不太了解,但openfire可以作为单独的server搭建。相关协议:xmpp… android平台:androidpn,IOS是自成。
S
Sturn
回复 @头号大宝贝 : 多谢提醒,想请教一下php做socket靠谱吗?或者有没有相关的资料,我现在的推送是第三方的。
头号大宝贝
头号大宝贝
另外,再思考一下我给你说的细节部分。
头号大宝贝
头号大宝贝
轮训的话。不但有1000请求的并发压力…也解决不了home回主页不能收到消息的问题。[0]
0
黑狗
黑狗

那么点人 socket不就好了

S
Sturn
回复 @黑狗 : 多谢!
S
Sturn
回复 @黑狗 : 多谢,不过php的socket不给力啊
黑狗
黑狗
回复 @Sturn : 不会php 但是你肯定可以找到一大堆demo。。。、
S
Sturn
Php做socket 有可行的资料推荐一下吗
返回顶部
顶部