博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

避免重复发消息

Posted on 2013-07-12 20:22  david2303  阅读(477)  评论(0编辑  收藏  举报
在处理装备推送时遇到一个坑。
获得更好装备,推送。等级到有更好的装备打开,推送。
 
触发推送的事件多的话。由于各种原因消息在客户端的消息队列里面停留没有处理,会导致出现重复推送。最后等到客户端处理时,由于有重复的推送会出错。
 
解决办法。
有更好的装备推送后,把该装备ID记录下来。如果这个装备ID一直被记录,以后关于它的推送就不推。客户端点击穿或不穿都发协议告诉服务端,然后服务端取消这个记录。
当客户端下线之后,这些记录全部释放。后来去了解客户端断线重连的处理机制后。即使断线导致我释放记录都不会出问题。OK
 
 
当因为触发条件不同或者时间不同,导致重复发的时候,可按照以上思路