我想知道处理服务器与客户端<div>
的自动更新的优缺点。我正在使用Apache和PHP,但只是考虑在Javascript中伪造推送通知,如下所示:
setInterval(queryDatabaseForUnreadMessages, 60000);
function queryDatabaseForUnreadMessages(){
$.ajax({
url: "/messages/queryDatabaseForUnreadMessages",
success:function(data){
$('div#littleRedCircle').html(data);
}
});
}
我只想设置一个类似Stackoverflow的通知(带有数字的小红圈),让人们知道他们收到了新消息(如果有的话)。这个简单的AJAX / setInterval组合是个坏主意吗?
答案 0 :(得分:3)
服务器推送的唯一内容是实施成本(时间,金钱)
服务器推送是可行的方法,因为
这取决于您选择的具体要求,因为服务器端推送的实施成本并非微不足道,因为它不是单个PHP脚本的问题,而是需要深度服务器集成(也许您将拥有完全安装另一个HTTP服务器)并涉及通常不用PHP构建的其他软件(消息队列?)
答案 1 :(得分:2)
来自IETF DOC
Long Polling in Contrast with Pull
What are the issues with Long Polling though? 来自DOC
正如我在评论中提到的那样
长轮询是实时的,而拉近实时[由轮询间隔确定]
Pull将客户端的带宽视为理所当然:P
如DOC中所述,这两种技术都很好地利用了HTTP 1.1的持久连接。
Pull易于实现,并且跨浏览器得到很好的支持。虽然Push缺乏这一点,但是库可以用于救援;)。