我正在做一个通知系统。发布新帖子时,屏幕上会出现一条小通知,立即通知用户。
我目前正在使用此:
setInterval(function(){
checkForChanges();
}, 2*1000);
function checkForChanges(){
$.post("http://"+ document.domain + "/posts/checkForChanges/",
function(dat){
if(dat>0){
....
/*create notification*/
}
});
}
我想知道这是否是正确的方法。因为,这每隔2秒调用一次PHP函数并查询数据库。
万一没有新的变化,它什么也不会做...
谢谢。
最佳答案
是的,轮询是正确的方法。无法将通知从服务器发送到客户端。客户必须要他们。
2秒可能太频繁了。如果您可以摆脱10个或更多,可能会更好,但是这完全取决于用户数量,要执行的检查的复杂性(权重)以及“接近实时”的需求。