用于类似Heartstone的游戏的AJAX或WebSockets?

时间:2017-07-11 14:48:31

标签: ajax web websocket server client

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

它非常像Hearstone,玩家可以玩多张牌,观察效果然后传递给对手。

游戏机制和原型准备就绪,我需要决定技术。

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

我不能丢失数据包,所以需要使用HTTP。

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

  • 回合结束
  • 改变游戏状态(并根据它渲染动画)

显然,我还需要验证服务器上活动播放器的每个操作。

我担心我的服务器(不是昂贵的主机)的呼叫次数以及适度服务器能够处理多少次呼叫......

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

1 个答案:

答案 0 :(得分:0)

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

一个很大的优势是你能够将一条消息“推送”到客户端(而不是每隔几秒就通过Ajax'拉'。

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

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