使用长轮询技术与PHP,MySQL和jQuery的Web聊天应用程序

时间:2014-09-05 09:40:24

标签: php jquery mysql long-polling

我们正在使用我们公司的聊天系统,该系统是用Ajax,PHP和jQuery构建的。目前,它在管理端和用户端每秒都刷新以从mysql中提取数据。这使得系统效率低下且速度慢。

我想仅在用户或管理员发送消息时从mysql中提取数据。但问题是:我如何从管理员端检查用户是否发送消息(实时)? 在Ajax中是否可以实时同时发送数据/请求2个不同的PHP页面?这可能是一个解决方案。

或者有什么想法来建立高效的聊天系统?我们不想使用任何第三方聊天解决方案。任何想法/帮助都将受到高度赞赏。

谢谢,
Rejoanul Alam

2 个答案:

答案 0 :(得分:3)

jQuery Long Polling

这可以通过jQuery / PHP / MySQL进行长轮询。此网址中提供的示例实现:http://sugunan.com/sites/chat/chatterFront.html

在两个不同的浏览器或机器中打开它。并提供名称并开始聊天。

  

此聊天工具的源代码可以在此网址下载:   http://www.sugunan.com/sites/chat/source.zip

<强> Node.js的

如果您拥有服务器,则可以选择基于node.js faye的实施:http://faye.jcoglan.com/node.html

这是推送通知技术。所以它不会经常ping服务器。但它会立即传递信息。如果要将消息保留在服务器上,它可以与PHP集成。

答案 1 :(得分:-1)

是的,有一些方法,
它们被称为彗星,有时会反转ajax,google it;)

在共享主机上使用长轮询,
在专用主机或VPS上使用套接字。