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

mat*_*ven 6 html javascript css php

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

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

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

Bra*_*one 7

听起来像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等)将客户的通信层抽象化