【问题标题】:AJAX or WebSockets for a Heartstone-like game?用于类似 Heartstone 的游戏的 AJAX 或 WebSockets?
【发布时间】:2017-12-15 17:07:52
【问题描述】:

游戏是一款基于一对一回合的 2D 卡片管理游戏,可在浏览器中进行。

这很像赫斯通,玩家打出许多牌,观察效果,​​然后将回合传给对手。

游戏机制和原型已经准备好,我需要决定技术。

服务器是PHP + MySQL,听说过node.js,但没有经验。

我不能丢包,所以我猜需要使用HTTP。

最初的想法是每 5 秒安排一次 AJAX 调用,以获取每个客户端检查的游戏状态:

  • 回合结束
  • 游戏状态的改变(并基于它渲染动画)

显然我还需要验证服务器上活跃玩家的每一个动作。

我担心对我的服务器(不是昂贵的托管)的调用次数以及普通服务器能够处理多少调用...

作为 Ajax 的一个优点,我看到有保证的数据包传递,并且没有涉及代理的问题(这可能会切断持久连接)。

【问题讨论】:

    标签: ajax web websocket server client


    【解决方案1】:

    Websockets 减少延迟和服务器工作量(无需打开新连接,这意味着在 https 的情况下进行密钥交换),前提是您经常交互。

    一个很大的优势是您可以向客户端“推送”一条消息(而不是每隔几秒钟就必须通过 Ajax 进行“拉取”。

    服务器语言应该不是问题,但是如果你打算维护/扩展它,你应该谨慎选择(我猜你是一个相当新的程序员,因此在更合适的环境中获得经验不会工作量很大)。

    编辑:只是为了澄清,我建议您为您的用例使用 websocket

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多