我们正在开发基于浏览器的社交游戏,并且它是一款MMORPG游戏。我们使用html/javascript/css作为前端技术(与闪存相比)。当用户第一次加载我们的游戏时,会下载一堆文件(外部js/css),并会请求几个ajax调用。除非用户手动刷新页面,否则整个页面将不会再次加载。我们创建一个js对象来存储用户特定的数据,如现金,水平等。它在用户即将到来的操作过程中可能会发生变化。所以我们需要同步来自后端的数据。一个特殊的问题是用户的数据也可以被动地更新(由其他用户),这可能发生在其他用户的战斗中。所以我的问题是如何以及何时同步?直到现在我们经历了两个阶段,1)每当用户点击标签(在html中显示/隐藏div)或可能的操作(如打架/买东西),然后我们调用ajax请求获取新数据从数据库每次。 2)与1)类似,但我们只是添加一个代理来指示用户的数据是否更改,以减少无用的数据库查询。 ajax调用将首先进入代理。在前端和后端之间同步数据
1)我们可能有70%+无用的Ajax调用和的数据库查询
2)我们可能有70%+无用AJAX调用
现在我们用2)的方法。但我不认为这是最好的解决方案,因为我们仍然有70%+无用的ajax调用。所以有没有比这个用例更好的解决方案?
解释
无用AJAX调用:自2个AJAX调用之间的间隔中,用户数据可以不改变的。