今天处理了一个游戏回档问题。
表现:
同事在测试游戏过程中,切换了wifi网络。再次进入游戏后发现出现数据回档。
问题查明:
1、查询日志,发现角色的数据是先load再save的。
2、日志表明save和load为两个线程,说明在forcelogout之前角色的时候并没有立即存储数据,而是新开线程进行logout。
解决方案:
在login的handler里面,强制登出之前玩家并存储,之后设立标记,不在执行之前玩家数据的存储。
今天处理了一个游戏回档问题。
表现:
同事在测试游戏过程中,切换了wifi网络。再次进入游戏后发现出现数据回档。
问题查明:
1、查询日志,发现角色的数据是先load再save的。
2、日志表明save和load为两个线程,说明在forcelogout之前角色的时候并没有立即存储数据,而是新开线程进行logout。
解决方案:
在login的handler里面,强制登出之前玩家并存储,之后设立标记,不在执行之前玩家数据的存储。