客户端如何实现与服务器持续同步解析(轮询、Comet、WebSocket)?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2741个文字,预计阅读时间需要11分钟。
在B/S架构的Web应用中,客户端通常需要保持与服务器端的持续更新。这种对实时性和持续性的要求较高,适用于如股票价格查询、实时商品价格显示、自动更新的Twitter时间线以及基于浏览器的聊天等应用。
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等。由于近些年AJAX技术的兴起,也出现了多种实现方式。本文将对这几种方式进行说明,并用jQuery+tornado进行演示,需要说明的是,如果对tornado不了解也没有任何问题,由于tornado的代码非常清晰且易懂,选择tornado是因为其是一个非阻塞的(Non-blocking IO)异步框架(本文使用2.0版本)。
在开始之前,为了让大家有个清晰的认识,首先列出本文所要讲到的内容大概。本文将会分以下几部分:
- 普通的轮询(Polling)
- Comet:基于服务器长连接的“服务器推”技术。这其中又分为两种:
- 基于AJAX和基于IFrame的流(streaming)方式。
- 基于AJAX的长轮询(long-polling)方式。
- WebSocket
轮询最简单也最容易实现,每隔一段时间向服务器发送查询,有更新再触发相关事件。
本文共计2741个文字,预计阅读时间需要11分钟。
在B/S架构的Web应用中,客户端通常需要保持与服务器端的持续更新。这种对实时性和持续性的要求较高,适用于如股票价格查询、实时商品价格显示、自动更新的Twitter时间线以及基于浏览器的聊天等应用。
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等。由于近些年AJAX技术的兴起,也出现了多种实现方式。本文将对这几种方式进行说明,并用jQuery+tornado进行演示,需要说明的是,如果对tornado不了解也没有任何问题,由于tornado的代码非常清晰且易懂,选择tornado是因为其是一个非阻塞的(Non-blocking IO)异步框架(本文使用2.0版本)。
在开始之前,为了让大家有个清晰的认识,首先列出本文所要讲到的内容大概。本文将会分以下几部分:
- 普通的轮询(Polling)
- Comet:基于服务器长连接的“服务器推”技术。这其中又分为两种:
- 基于AJAX和基于IFrame的流(streaming)方式。
- 基于AJAX的长轮询(long-polling)方式。
- WebSocket
轮询最简单也最容易实现,每隔一段时间向服务器发送查询,有更新再触发相关事件。

