为防止用户修改当前时间,造成游戏逻辑混乱,客户端使用的时间为服务器时间。
具体做法如下
1 在登陆游戏之后 都会同步客户端的时间 时间一般为毫秒级别
2 玩家在线 每隔几秒都会同步一次客户端和服务器的时间
3 游戏中有和 时间相关的逻辑(定时刷新商店物品 在线领取礼包) 都会校验客户端时间是否与服务器同步
但是即使这样,仍然会存在会造成一些误差 问题
服务器和客户端本身的时间误差
从客户端传递消息 到 服务器处理消息 中间传递过程中的时间消耗
还有一个问题 在同步时间的过程中 特定条件下 往往客户端的发送的时间是快于服务器的 因此会导致服务器验证时间 出现问题 进而频繁报错 违背了同步时间的初衷
解决方案为 将客户端的时间 设定为 比 服务器时间的 慢2000ms (2s)