php - 使用 PHP、JS、CSS 和 HTML 创建类似跳棋的实时 Web 应用程序?

标签 php javascript html css

我想创建一个像跳棋一样的实时应用程序,它将像这样工作:在这个像棋盘一样的表面上将显示多个图标/头像。我想在这个面板下面有一个命令提示符,或者某种其他类型的界面,这将允许他们控制某个化身,并让它执行操作。 多个用户将同时使用它,我都将能够查看其他用户对棋盘的更改/操作。

我想知道的是:执行此操作的最佳方法是什么?我已经了解了我的 HTML、CSS 和 JS 方法,但没有了解我的数据存储方法。我知道,使用 PHP,我可以选择使用:基于文件的存储、MYSQL 或其他一些方法。我需要知道哪个更好,因为我不想出现服务器延迟、响应时间差或其他问题,尤其是在这种情况下,因为这些多个用户每隔 2 秒左右就会执行一次操作.

我以前做过类似的事情,但我想听听更有经验的程序员如何处理它(建议等)。

最佳答案

听起来像是一个很棒的 node.js 元素!

澄清一下,node.js 是 javascript 的服务器端实现。您需要的是一个基于 Comet 的应用程序(一个基于 Web 的客户端应用程序,它接收服务器端推送而不是客户端不断轮询服务器),这正是 node.js 擅长的。

传统的 ajax 调用让您的客户端轮询服务器以获取数据。这给客户端和服务器都带来了巨大的开销。允许服务器直接向客户端推送请求,而无需客户端反复询问,解决了开销问题并创建了响应速度更快的界面。这是通过在服务器上保持异步客户端连接并仅在服务器有响应时才返回来实现的。一旦服务器响应数据,另一个连接立即被服务器创建并再次保持,直到数据准备好发送。

您也许可以用 PHP 完成同样的事情,但我对 PHP 和 Comet 类型的应用程序不是很熟悉。

用户数量和托管成本将影响您的文件与数据库选项。如果您计划使用多个用户,我会坚持使用数据库。有一些可用的 NoSQL 选项,但根据我的经验,MySQL 比那些选项更快、更可靠。

祝你的元素好运!

http://en.wikipedia.org/wiki/Comet_%28programming%29

http://www.nodejs.org/

http://zenmachine.wordpress.com/2010/01/31/node-js-and-comet/

http://socket.io/ - 根据客户的能力(LongPollingWebSockets 等)抽象出与客户的通信层

关于php - 使用 PHP、JS、CSS 和 HTML 创建类似跳棋的实时 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6022235/

相关文章:

javascript - Jquery 加载带有 chitika 广告的页面,破坏网站

javascript - 更改 jquery datetimepicker 中的初始最小日期

javascript - 具有 2 个操作的提交按钮取决于下拉菜单

javascript - 如何使用脚本将页面上已有的选定信息获取到页面的另一部分

javascript更新或向数组添加值

PHP 数组的最大长度

php - 从服务器上完全删除一个文件

php - 上传后获取文件大小并将其插入表中的代码不起作用

javascript - 在 for 循环 javascript 中使用数组内的对象

html - 在 Chrome 扩展中禁用文本字段蓝色突出显示?