如何用PHP实现一个真正快速的网络聊天?
有没有人想过为什么Facebook聊天如此之快?即使在没有WebSocket的IE中。
唯一的方法不是在JS中使用setInterval来检查新消息吗?但我觉得它(Facebook聊天框)就像是有即时反应。
如何用PHP实现这么好的功能?
发布于 2011-11-18 10:36:24
您所描述的即时聊天通常是通过一种称为“长轮询”的东西来实现的,或者,如果我们谈论的是AJAX,则称为"Comet“(关于它的Wikipedia talks )。轮询往往会给Apache服务器带来压力,但有一些专门的服务器可以处理它,比如APE。我不确定,但我认为你可以用NodeJS做同样的事情,NGINX可以很好地处理压力。
Here是一篇关于如何使用PHP、jQuery和AJAX实现长时间轮询聊天的文章。
祝你好运,我希望这对你有帮助!
发布于 2011-11-21 22:15:23
我同意@joseph-szymborski的观点,尽管开始寻找通过闪存和/或长轮询回退到WebSockets的WebSocket解决方案是有意义的。
以下是一些相关的SO问题:
如果你想使用PHP或者共享主机,那么我建议你看一下hosted realtime web solution。
发布于 2014-06-28 20:51:17
你可能想要考虑用Node.js来“实时”地为客户端服务,因为使用PHP/AJAX的长时间轮询可能会给你的服务器带来压力。但实现本身是一项艰巨的任务。只是说说而已。使用PHP/AJAX的长轮询可能会给服务器带来压力。
我的典型理论实现如下:
https://stackoverflow.com/questions/8176937
复制相似问题