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

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

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

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

谢谢,
Rejoanul Alam

jQuery Long Polling

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

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

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

Node.js的

如果您拥有服务器,可以使用node.js基于faye的实现: http : //faye.jcoglan.com/node.html

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

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

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