2010-01-15 111 views
5

我对meebo,facebook和myspace等即时消息传递的一种非常好的方式感兴趣,也可以在页面上进行通知。在我的网站上的示例中,当用户收到新邮件消息,照片评论,个人资料评论,好友请求以及其他一些内容时,他们会收到一条通知消息并链接到他们使用jQuery和AJAX的页面上。在网页上显示通知和消息的最佳方式?

我认为这不是最好的方法,但我的jQuery代码必须基本上每运行一次PHP脚本来查询mysql表,每隔30秒左右查询每个拥有该页的用户打开此脚本运行。如果我能找到一种有效的方式,我想最终在屏幕底部的聊天栏中添加某种类似即时消息的即时消息。

我听说过Comet和HTML5 WebSockets这些术语,但我不确定这些解决方案是否应该针对这种功能?我希望将带宽保持在最低限度,并且在高流量站点上每隔几秒运行一次查询似乎效率不高。

如果你知道一些好的解决办法,请解释他们是如何工作的一点点请

回答

1

我认为Facebook使用XMPP为他们的聊天记录,所以看看它。

XMPP是

一个开放的技术进行实时通信,其权力范围广泛的应用,包括即时消息,状态,多方聊天,语音和视频通话,协作,轻量级中间件,内容联合和XML数据的通用路由。

你会安装一个separate server处理信息和你的应用,您需要实现一个客户端可用libraries之一。

1

你可以有一个AJAX可以查询共享的消息队列?也许它是一个php脚本,它将大部分消息存储在memcached中(并且可能在发生故障时写入db)。

不知道,但好奇地听到其他的解决方案......

2

您正在寻找一个“彗星”服务器。既然你在谈论PHP,你最好的解决方案就是一个SaaS解决方案,比如WebSync On-Demand,因为当涉及到大量并发连接的时候,PHP在扩展方面有问题。另见this question

0

基本问题是你需要实现一个Comet服务器(即实现Server Push)。标准的Web主机和Apache不容易让你轻松做到这一点。另一个托管解决方案(除了Web Sync)是Goldfish Server。目前免费。

相关问题