创建一个类似实时检查器的Web应用程序,使用PHP,JS,CSS和HTML


Creating a live checkers-like web app with PHP, JS, CSS and HTML?

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

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

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

听起来像是一个很棒的node项目.js!

澄清一下,node.js是javascript的服务器端实现。你想要的是一个基于彗星的应用程序(一个基于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/- 根据客户端的功能(LongPolling、WebSockets 等)抽象出与客户端的通信层

MySQL 和 XCache !!!

确保使用预定义的语句,以便MySQL不需要再次编译SQL。内存表也可用于使用内存存储

当然,要适当地使用索引。

如果"游戏状态"不是那么重要,你甚至可以将所有内容存储在XCache中。 请记住,XCache不会持久存储数据(在Apache重新启动后)