【问题标题】:Implement multiplayer poker game with PHP and HTML5?用 PHP 和 HTML5 实现多人扑克游戏?
【发布时间】:2014-02-22 20:15:01
【问题描述】:

我想用 PHP 创建多人游戏。 我为此创建了完整的 OOP 系统——管理整个游戏的类。 我还说要为游戏编写 HTML+Canvas 代码——现在我遇到了问题。 对于真正的 HTML5 多人游戏,我需要使用 Node.js + Socket.io 技术。 但我不想留下我所有的 PHP 代码并重新开始使用 Node 实现。

所以我尝试使用 AJAX 轮询,这样玩家每次在游戏中做某事时都可以更新服务器 - 但问题是 - 如果任何玩家关闭浏览器或破解 javascript 游戏计时器 - 服务器无法知道因为 PHP 代码是执行一次。 我想过创建一个每秒运行的 cron-job 并检查玩家是否仍然处于活动状态,但 cron-job 仅限于每分钟执行一次(而且我认为这不是正确的方法)。

那我该怎么办?我需要将所有工作留在 PHP 中,然后开始学习并使用 Node.js 重新实现所有工作吗? 即使 PHP 代码已经执行,是否还有其他选项可以让服务器运行?

【问题讨论】:

    标签: ajax polling multiplayer


    【解决方案1】:

    只是个人意见,我是 PHP 的忠实粉丝,我喜欢它,但我确实知道 PHP 何时不能解决特定问题。 PHP 不是为实时应用程序设计的,当然有很多解决方案:ApeRatchet 但最后我觉得我消耗的 CPU 周期比我真正需要的要多。我会坚持使用 Nodejs 和 socket.io,因为它们旨在供实时应用程序使用。同样,这只是个人意见。

    【讨论】:

      【解决方案2】:

      PHP 它真的不是你要找的... 你必须使用更好的技术,比如 NodeJS & Socket IO

      【讨论】:

        【解决方案3】:

        你可以用set_timeout(0)在PHP中实现长轮询,然后执行一个无限循环的AJAX,但是真的很蹩脚

        【讨论】:

          【解决方案4】:

          我知道这个问题有点老了——但我刚刚用 NodeJS 和 MongoDB 完成了一个德州扑克游戏的开发,这真是不可思议! 当你拥有这些技术时,PHP 是不可能的!

          【讨论】:

            猜你喜欢
            • 2012-01-07
            • 1970-01-01
            • 2013-05-22
            • 1970-01-01
            • 2022-01-06
            • 2012-05-28
            • 2012-05-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多