我们公司使用的聊天系统是用Ajax、PHP和jQuery构建的。目前,它在管理端和用户端每秒都会刷新,从mysql中提取数据。这使得系统效率低下且速度较慢。
我只想在用户或管理员发送消息时从mysql中提取数据。但问题是:我将如何从管理端检查用户是否发送了消息(实时)在Ajax中是否可以同时实时发送数据/请求两个不同的PHP页面这可能是一个解决方案。
或者有什么想法可以创建高效的聊天系统吗?我们不想使用任何第三方聊天解决方案。如有任何想法/帮助,我们将不胜感激
谢谢,
Rejoanul Alam
jQuery长轮询
这可以通过jQuery/PHP/MMySQL进行长轮询来实现。此url中提供的示例实现: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集成。
是的,有一些方法,
它们被称为comet,有时反向ajax,google it;)
在共享主机上使用长轮询,
在专用主机或VPS上使用套接字。