如何使用PHP实现真正快速的网络聊天?
有没有人想知道为什么Facebook聊天真的非常快?即使在没有WebSocket的IE中也是如此。
不是唯一的方法是在JS中设置setInterval以检查新消息吗?但我觉得(Facebook聊天框)就像是立即反应。
如何用PHP实现这么棒的东西?
答案 0 :(得分:7)
你所描述的即时聊天通常是通过一种叫做“长轮询”的东西来实现的,或者,如果我们谈论的是AJAX,那就是“彗星”(Wikipedia talks关于它。轮询往往会使Apache服务器紧张,但有一些专门的服务器可以处理它,如APE。我不确定,但我认为你可以用NodeJS做同样的事情,而NGINX可以很好地处理压力。
Here这里有一篇关于如何使用PHP jQuery和AJAX实现长轮询聊天的文章。
祝你好运,我希望它有所帮助!
答案 1 :(得分:3)
我同意@ joseph-szymborski虽然开始查看通过Flash和/或长轮询回退到WebSockets的WebSocket解决方案是有意义的。
以下是一些相关的SO问题:
如果您想使用PHP或在共享主机上,那么我建议您查看hosted realtime web solution。
答案 2 :(得分:0)
您可能希望将Node.js视为实时'实时'因为使用PHP / AJAX进行长轮询可能会对您的服务器造成压力。 但实施本身是一项艰巨的任务。只是说。 使用PHP / AJAX进行长轮询可能会对您的服务器造成压力。
我的典型理论实现: