我们正在使用的聊天系统在我们的公司,是建立在Ajax,PHP和jQuery。目前,它每秒钟刷新一次,无论是在管理端还是用户端,从mysql中提取数据。这使得系统效率低,速度慢。
只有当用户或管理员发送消息时,我才想从mysql中提取数据。但问题是:我将如何从管理端检查用户是否(实时)发送消息?是否可以在Ajax中实时发送数据/请求2个不同的PHP页面?,这可能是一个解决方案。
或任何想法,使有效的聊天系统?我们不想使用任何第三方聊天解决方案。任何想法/帮助都将受到高度赞赏。
谢谢,
阿兰
发布于 2014-09-05 10:51:03
jQuery长轮询
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
这是一种推送通知技术。因此,它不会频繁地访问服务器。但它会立即传递信息。如果您想要将消息持久化到服务器上,则可以将其与PHP集成。
发布于 2014-09-05 09:43:54
是的,有一些方法,
他们被称为彗星,有时反向ajax,谷歌它;)
在共享主机上使用长轮询,
在专用主机或VPS上使用套接字。
https://stackoverflow.com/questions/25682913
复制相似问题