游戏中非常多逻辑须要每日刷新,无论是0点、3点还是4点。
这里以领体力为例。刀塔传奇每日12:00-2:00领体力一次。
每日刷新的逻辑实现有非常多思路。
1、玩家上线时通知玩家刷新剩余时间以及玩家是否已经领取过。时间点到时再发一次给client。
2、玩家每次打开面板时请求一次。时间点到时serverPUSH过去。
3、玩家每次打开面板时请求一次。时间点到时client再发一次打开面板消息。
三个都能够。可是在手机游戏上。以省流量为目的,刀塔传奇採用的是第三个。初看貌似不合理。
事实上是合理的。
比方一个服有1000个玩家。大约仅仅会有500个同一时候在线,这500个里最多仅仅会有200个在这个点上刚好这个面板是打开的。这样同一时候PUSH消息的开销仅仅有200个。
而另外一种思路同一时候会有500个消息PUSH过去。这样server的承载能力事实上是加强了的。