我正在做一个通知系统。发布新帖子后,将立即通过屏幕上的小通知立即通知用户。
我目前正在使用这个:
setInterval(function(){
checkForChanges();
}, 2*1000);
function checkForChanges(){
$.post("http://"+ document.domain + "/posts/checkForChanges/",
function(dat){
if(dat>0){
....
/*create notification*/
}
});
}
我想知道这是否是正确的做法。因为,这是每2秒调用一次PHP函数并对数据库进行查询。 如果没有新的变化,它将不会做任何事情......
感谢。
答案 0 :(得分:2)
是的,民意调查是正确的方式。无法从服务器向客户端发送通知。客户必须要求他们。
2秒可能太频繁了。如果你可以逃脱10或更多,它可能会更好,但一切都取决于用户的数量,执行检查的复杂性(重量)和“接近实时”的需要。
答案 1 :(得分:1)
这也没关系。你也可以用websocket做到这一点 http://socketo.me/