避免重复发消息

在处理装备推送时遇到一个坑。
获得更好装备,推送。等级到有更好的装备打开,推送。
 
触发推送的事件多的话。由于各种原因消息在客户端的消息队列里面停留没有处理,会导致出现重复推送。最后等到客户端处理时,由于有重复的推送会出错。
 
解决办法。
有更好的装备推送后,把该装备ID记录下来。如果这个装备ID一直被记录,以后关于它的推送就不推。客户端点击穿或不穿都发协议告诉服务端,然后服务端取消这个记录。
当客户端下线之后,这些记录全部释放。后来去了解客户端断线重连的处理机制后。即使断线导致我释放记录都不会出问题。OK
 
 
当因为触发条件不同或者时间不同,导致重复发的时候,可按照以上思路
原文地址:https://www.cnblogs.com/yemsheng/p/3187218.html