来自数据库的实时数据。是否使用websockets?

时间:2016-09-18 10:22:40

标签: javascript php mysql ajax websocket

我知道这里有更多这样的问题(关于websockets和Ajax请求),但我目前正在寻找最佳解决方案。

我目前正在使用Javascript开发游戏。它是一个单页应用程序,因此每次更改都应从服务器中提取,而无需刷新页面。我现在想知道如何处理'库存资源'(如木材,食品和黄金)。

方案

每秒产生一次资源。例如,每分钟生成100个资源。这应该是现场更新。我知道,在这种情况下,没有必要真正更新它们。我的意思是,我可以简单地计算当前时间产生的资源减去最后更新的时间。

这里没问题,但是资源的生产有很多不同的因素:

  • 如果玩家受到攻击,敌人可能会抢夺他的部分资源。因此,在攻击之后,资源也应该更新。
  • 如果玩家遭到攻击,并且他的一个“生产建筑”被损坏,例如,他每小时不会产生1000个资源,而是800个资源。因此,在建筑物被拆除后,应用程序应该知道新的建筑物水平,以计算适当数量的新资源。

可能性

那么,我该如何更新用户的资源?这些是我认为可能有用的选项: *在服务器上ping一个脚本,每5秒计算和更新一次资源。 *设置一个websocket流并在每次活动后触发它(攻击后,拆除建筑物......)

还有其他选择吗?什么是最好的方式?如果延迟5秒,这不是一个真正的问题。

0 个答案:

没有答案
相关问题