我感兴趣的是像meebo和facebook和myspace这样的即时消息传递的非常好的方式,也适用于页面上的通知。我的网站上的示例现在,当用户收到新邮件,照片评论,个人资料评论,朋友请求以及其他一些事情时,他们将在使用jQuery和AJAX的页面上收到通知消息和链接。
我在很大程度上相信这不是最好的方法,因为我的jquery代码必须基本上运行一个PHP脚本,每30秒左右为每个打开页面的用户查询mysql表运行此脚本。如果我能找到一种有效的方法,我最终会在屏幕底部的聊天栏中添加像facebook这样的即时消息。
我听说过Comet和HTML5 WebSockets这些术语,但我不确定这些是否是我应该考虑的这类功能的解决方案?我希望将带宽保持在最低限度,并且每隔几秒运行一次查询在高流量站点上看起来效率不高。
如果您了解一些好的解决方案,请解释一下它们的工作原理
答案 0 :(得分:2)
您正在寻找“彗星”服务器。既然您正在谈论PHP,那么您的最佳解决方案将是SaaS解决方案,例如WebSync On-Demand,因为当涉及大量并发连接保持打开时,PHP存在扩展问题。另请参阅this question。
答案 1 :(得分:1)
你有一个ajax可以查询的共享消息队列吗?也许它是一个php脚本,它将大部分消息存储在memcached中(并且可能在发生故障时写入db)。
不确定,但很想知道其他解决方案......
答案 2 :(得分:1)
我认为Facebook使用XMPP进行聊天,所以请看一下。
XMPP
一种用于实时通信的开放式技术,支持广泛的应用,包括即时消息,在线状态,多方聊天,语音和视频呼叫,协作,轻量级中间件,内容联合以及XML数据的通用路由。
您需要安装separate server来处理消息,并在您的应用中使用可用的libraries之一实现客户端。
答案 3 :(得分:0)
基本问题是您需要实现Comet服务器(即实现服务器推送)。标准的Web主机和Apache不容易让您轻松完成此操作。另一个托管解决方案(除了Web Sync)是Goldfish Server。目前免费。