我正在做一个通知系统。发布新帖子时,屏幕上会出现一条小通知,立即通知用户。

我目前正在使用此:

setInterval(function(){
 checkForChanges();
}, 2*1000);



function checkForChanges(){
    $.post("http://"+ document.domain + "/posts/checkForChanges/",
        function(dat){
           if(dat>0){
              ....
              /*create notification*/
           }

    });
}


我想知道这是否是正确的方法。因为,这每隔2秒调用一次PHP函数并查询数据库。
万一没有新的变化,它什么也不会做...

谢谢。

最佳答案

是的,轮询是正确的方法。无法将通知从服务器发送到客户端。客户必须要他们。

2秒可能太频繁了。如果您可以摆脱10个或更多,可能会更好,但是这完全取决于用户数量,要执行的检查的复杂性(权重)以及“接近实时”的需求。

09-30 23:01