PHP&;彗星。需要一些指导吗
我一直在搜索使用PHP制作实时网站。(彗星)我已经找了很长时间了。(大约一个月左右)我甚至检查了一些PHP聊天脚本,并在我的Web服务器上使用了这些脚本,但大多数都出现了一些问题。(将解释) 到目前为止,大多数人都说了同样的话:PHP并不是COMET可以使用的最好的语言。chat/comet的例子充其量也只是一些骇人听闻的例子 我这样问是因为,我想在我的网站上有一些功能,比如允许登录的人彼此聊天。这就是我需要到PHP页面的活动连接的地方。我也在计划制作一款基于浏览器的游戏,而且必须要有一个动态连接 2年前,AJAX是一件罕见的事情,在Facebook的光环下熠熠生辉。现在几乎每个人都在使用它,它成为了web开发的标准。现在,基于COMET的网站正在增长。Youtube、Google+、Facebook、EA的战记等等。我相信我应该学会如何使用它 好的,这是我的问题。(下面的一些信息是我在谷歌上搜索时收集的。不确定它们是否正确。)PHP&;彗星。需要一些指导吗,php,comet,Php,Comet,我一直在搜索使用PHP制作实时网站。(彗星)我已经找了很长时间了。(大约一个月左右)我甚至检查了一些PHP聊天脚本,并在我的Web服务器上使用了这些脚本,但大多数都出现了一些问题。(将解释) 到目前为止,大多数人都说了同样的话:PHP并不是COMET可以使用的最好的语言。chat/comet的例子充其量也只是一些骇人听闻的例子 我这样问是因为,我想在我的网站上有一些功能,比如允许登录的人彼此聊天。这就是我需要到PHP页面的活动连接的地方。我也在计划制作一款基于浏览器的游戏,而且必须要有一个动态连
usleep()
函数基本上破坏了基于Windows操作系统的web服务器。在基于windows的操作系统上运行的comet应用程序上依赖usleep()
正常吗?我的意思是,有没有办法“睡眠”PHP脚本?无论我做什么,WIN和UNIX服务器上的CPU负载都将达到%100
- 一个聊天脚本,在这里登录的玩家可以互相聊天
- 基于浏览器的游戏。我已经在编码时使用了JSON/AJAX之类的东西,但是为了接收这些步骤,我应该提取数据,因此需要一个活动连接。(不要想象高级游戏,我所说的游戏充其量只是象棋。)
如果你能给我一个简短的指导,我将不胜感激。毕竟,由于互联网上有这么多随机的文章,我一天一天地感到困惑。人们甚至把
setInterval()
称为COMET,所以它完全是一团乱。这里需要澄清一下。你要找的不是特定语言本身。如果您想用PHP实现comet功能,您将依赖Web服务器(例如Apache)来执行HTTP流。您还需要了解,HTTP/1.1之前的HTTP版本不支持这一点。话虽如此,如果您想要一个非阻塞的基于事件的web服务器,您最好按照建议查看Tornado和Node。Comet是一种编程技术,它允许web服务器向客户端发送数据,而无需客户端请求。这种技术将产生比经典AJAX更具响应性的应用程序。用户必须创建请求(例如,通过单击链接)或者,为了从服务器获取新数据,必须定期发出AJAX请求
但这会在您的web服务器上产生大量流量。如果您想在PHP中构建聊天应用程序,请使用pusher,它是一种第三方服务,易于使用。
这是pusher的链接
第二个建议是使用ratchet创建聊天应用程序。
这是棘轮的链接
我希望它能帮助你如果你想做实时应用,我建议node.js:)对php做一个很好的总结;我应该放弃PHP吗?你是说一般情况?绝对不是。这是完全可以接受的使用这作为您的主要语言,同时使用其他更适合手头的任务。对于Comet,使用一些简单、轻量级的工具来实现线程,并且可以与站点的数据库对话。在你的帖子中有一些有趣的问题,但是“什么是WebSync”是可以在这里提问之前进行研究的。如果您想知道它是否可以与PHP一起使用,请在web上搜索“WebSync with PHP”:)@tehlulz-这篇文章很有趣,它提出了一些公平的观点。但我不确定我是否喜欢它尖刻的语调,也不喜欢评论中可预见的面包大战。难道我们不能学会尊重彼此的工具吗?
while(true)
{
// query database
// output the result
// flush the browser
// sleep for few seconds to lower cpu load
}