facebook如何将数据推送到新闻源?

Dre*_*ith 11 javascript php ajax polling

我很好奇Facebook如何像在新闻Feed中那样将数据推送到浏览器.新数据显示在Feed的顶部,无需重新加载页面或单击按钮
Facebook是否通过以设定的时间间隔通过AJAX轮询服务器来实现此目的,还是以某种方式将新数据从服务器推送到客户端?
如果是这样,他们使用什么语言或API来做到这一点?

Max*_*sky 4

它实际上被称为“长轮询”或“彗星”执行服务器推送的方法有多种,但最常见的方法是在接收数据时保持连接打开(它有缺点,因为浏览器对主机的打开连接数量有限制)。Facebook 开源了Tornado Web 服务器,它可以处理大量开放连接(这可能是一个问题,因为你有很多用户,但你使用的是 apache)。当您收到 AJAX 响应时,您只需执行一个新请求,等待下一个响应。