默认

[已回复] 求教使用MobileIMSDK服务端定时对不同的组推送不同的消息

查看数: 35185 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-02-24 18:29

正文摘要:

我想实现服务端对不同的组推送不同的消息,我自己建了一个对象来存分组,我在服务端启动的时候,起了一个timer,每隔2秒循环一下分组,对每个组里的在线用户发消息,假如分组越来越多,或是逻辑算的时间长了 ...

评论

xxfx007 发表于 6 年前
明白了  太感谢了
JackJiang 发表于 6 年前
引用:xxfx007 发表于 2018-02-27 09:42
我当时是想,摇奖的时候,转盘每动一下,要从server上同步一下组里的信息,再分发给组里的各个用户。

你 ...

抽奖的过程不需要发,每个人只需要收到两个指令:开始、结束,就可以了。
过程你完全可以在各自的端做动画模拟就行了,定时发完全没有意义,应从实际出发,不要理想化
xxfx007 发表于 6 年前

我当时是想,摇奖的时候,转盘每动一下,要从server上同步一下组里的信息,再分发给组里的各个用户。

你说的意思我大概明白了,就说建组这个人发一个开始游戏,然后server把这个群发给成员,各自成员的手机转盘就开始转,不用同步server的数据,之后建组的人发一个结束游戏,这时候把算出的结果,群发给成员,各自成员的转盘收到结果,并停止转动。 整个过程 建组的人一共发两次消息。
JackJiang 发表于 6 年前
如果是照你说的要做的就是摇奖游戏,为何定时发送?摇出来就发给这个组不就行了吗,跟群聊道理一样啊
xxfx007 发表于 6 年前
非常感谢回答,我这两天写了一下代码,但是还是有点思路上想不通的地方,请指点一下。

1,“在一个Timmer周期到来的时候启动多个线程同时工作从而加快效率。”        是不是timer执行一次,开一个新线程去给整个组发消息,这样线程之间不影响?

2,生产者消费者模型我知道点皮毛,是不是共同维护一个消息队列,服务端只往里加但不发送,在客户端定时的是队列里取?

3,我想做一个小游戏,一个人新建一局,几个人加入该局,开始摇奖,这几个人就是一组,摇奖的信息就给该组发送,然后可能有很多组,就想实现这么个场景。
JackJiang 发表于 6 年前
先回答第一个问题,关于怎么能加快推送效率、容错的问题:
这个问题从业务上来说不复杂,但要实现起来还是要动一些脑筋,你可以弄一个生产者消费者模型出来,在一个Timmer周期到来的时候启动多个线程同时工作从而加快效率。

你想单独维护自已的在线列表的话,直接在服务端的回调里监听用户上线、下线回调就行了(OnlineProcessor也是通过这个原理实现的,请放心使用):
API文档请见:ServerEventListener用户上线了就加入到你自已的列表,下线了就从列表中移除,就是这么简单
[已回复] 求教使用MobileIMSDK服务端定时对不同的组推送不同的消息_QQ截图20180224200315.png

返回顶部