当要使客户端和服务器保持实时(近)实时同步时,有三件事需要立即想到:
长轮询 :您已经提到了这一点,在客户端上设置了一个计时器,该计时器每10秒钟左右触发一次新的AJAX请求。这可能是3种技术中最“低级的”,也是效率最低的。但是它也是最兼容的(这意味着它将在所有浏览器中都可以使用,即使是像IE6 / 7之类的东西)
WebSockets :sdespont已经在评论中提到了这一点。尽管WebSockets比长轮询效率更高(因为它可以无限期地保持客户端与服务器之间的双向通信),但如果您要做的只是从服务器获取定期更新,则它可能是一个非常笨拙的解决方案。Firefox和Chrome的所有版本都支持它,IE在IE10中添加了支持
服务器发送的事件 :该 事件 似乎不太流行(或不太为人所知)。它允许服务器将更改发送到客户端(与客户端从服务器请求更改相反,长轮询就是这种情况)。这也是一种单向通信(服务器->客户端),并且在请求完成后,连接将关闭(与WebSockets保持两向通信保持打开状态相反)。再一次,并非所有的浏览器都支持它,并且根本不支持IE。
这也是一篇很好的文章,它解释了更现代的客户端-
服务器通信方式之间的区别。而且,如果您想了解有关服务器发送的事件的更多信息,这是一个很好的记录



