首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用PHP实现一个真正快速的网络聊天?

如何用PHP实现一个真正快速的网络聊天?
EN

Stack Overflow用户
提问于 2011-11-18 10:06:19
回答 3查看 5.9K关注 0票数 6

如何用PHP实现一个真正快速的网络聊天?

有没有人想过为什么Facebook聊天如此之快?即使在没有WebSocket的IE中。

唯一的方法不是在JS中使用setInterval来检查新消息吗?但我觉得它(Facebook聊天框)就像是有即时反应。

如何用PHP实现这么好的功能?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-18 10:36:24

您所描述的即时聊天通常是通过一种称为“长轮询”的东西来实现的,或者,如果我们谈论的是AJAX,则称为"Comet“(关于它的Wikipedia talks )。轮询往往会给Apache服务器带来压力,但有一些专门的服务器可以处理它,比如APE。我不确定,但我认为你可以用NodeJS做同样的事情,NGINX可以很好地处理压力。

Here是一篇关于如何使用PHP、jQuery和AJAX实现长时间轮询聊天的文章。

祝你好运,我希望这对你有帮助!

票数 7
EN

Stack Overflow用户

发布于 2011-11-21 22:15:23

我同意@joseph-szymborski的观点,尽管开始寻找通过闪存和/或长轮询回退到WebSockets的WebSocket解决方案是有意义的。

以下是一些相关的SO问题:

如果你想使用PHP或者共享主机,那么我建议你看一下hosted realtime web solution

票数 3
EN

Stack Overflow用户

发布于 2014-06-28 20:51:17

你可能想要考虑用Node.js来“实时”地为客户端服务,因为使用PHP/AJAX的长时间轮询可能会给你的服务器带来压力。但实现本身是一项艰巨的任务。只是说说而已。使用PHP/AJAX的长轮询可能会给服务器带来压力。

我的典型理论实现如下:

  1. 创建Node.js服务器以查询数据库。
  2. 使用cURL将变量和/或会话数据从php发送到节点js。
  3. 分析Node.js服务器中的url并使用变量检查数据库中的更改。如果发生更改,
  4. 将发出新数据并发送到客户端。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8176937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档