我想实现一个实时仪表板,例如 www.foursquare.com 的索引页面
我使用 Chrome 的开发工具检查了foursquare.com 的索引页面,并惊讶于他们不使用 xhr 来获取这些信息。每 5 秒。
使用 ajax 轮询会导致某些浏览器中的内存泄漏并使服务器更加繁忙。
有什么方法可以使用 PHP 和 jQuery(AJAX) 有效地实现实时仪表板?
(也许我需要一个额外的服务器,比如推送服务器?):|
我想实现一个实时仪表板,例如 www.foursquare.com 的索引页面
我使用 Chrome 的开发工具检查了foursquare.com 的索引页面,并惊讶于他们不使用 xhr 来获取这些信息。每 5 秒。
使用 ajax 轮询会导致某些浏览器中的内存泄漏并使服务器更加繁忙。
有什么方法可以使用 PHP 和 jQuery(AJAX) 有效地实现实时仪表板?
(也许我需要一个额外的服务器,比如推送服务器?):|
将数据推送到客户端的一种方法是这样的循环:
Foursquare 的主页加载了 30 个项目(id=recent29
、id=recent28
、 ...),但一次只显示 11 个。所以你会有大约 90 秒的实时感觉(之后,相同的项目重新出现)。
...
$('#recent'+toShow).slideDown(1000, move(i));
$('#recent'+i).slideUp(1000, move(i));
...
对于一些双向客户端服务器通信,看看websockets,即使它们还没有被普遍支持,它们最终成为一个标准。
WebSocket API 正在被 W3C 标准化,WebSocket 协议正在被 IETF 标准化。