WebSocket 与 Polling , Long-Polling , Streaming 的比较!
Web Sockets定义了一种在通过一个单一的 socket 在网络上进行全双工通讯的通道。它不仅仅是传统的 HTTP 通讯的一个增量的提高,尤其对于实时、事件驱动的应用来说是一个飞跃。
“将数据的千字节减少到2字节……并将延迟从150ms减少到50ms,这远远超过了边际效应。”事实上,仅这两个因素就足以让谷歌对 Web Sockets 字产生浓厚的兴趣。
Polling (轮询), Long-Polling (长轮询), and Streaming (串流)
comet: 基于 HTTP 长连接的“服务器推”技术。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。
Polling (轮询)
Long-Polling (长轮询)
串流(Streaming)
TLS:安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。 该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
HTML5 WebSocket 通訊协议
Upgrade: websocket
Connection: Upgrade
Comet vs. HTML5 WebSocket
-
场景一:每秒 1000 个客户端轮询,每秒的网络流量是 6.6 M。
-
场景二:每秒 10000 个客户端轮询,每秒的网络流量是 66 M。
-
场景三:每秒 100000 个客户端轮询,每秒的网络流量是 660 M。
-
场景一:每秒 1000 个客户端轮询,每秒的网络流量是 0.015 M。
-
场景二:每秒 10000 个客户端轮询,每秒的网络流量是 0.153 M。
-
场景三:每秒 100000 个客户端轮询,每秒的网络流量是 .1526 M。
WebSocke 浏览器支持情况
总结
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。