实时通信与接近监测系统的实现
1. WebSocket 协议概述
在当今的互联网应用中,实时交互功能变得越来越重要。例如,当 Facebook 弹出通知告知我们有人对我们的帖子进行了评论,或者当有人转发我们的推文时,网站会动态变化并做出反应。虽然并非所有这些功能都通过 WebSocket 明确支持,但几年前大部分是这样,而且现在很多功能仍然可以通过 WebSocket 或对开发者来说类似 WebSocket 的技术来实现。
WebSocket 协议大约在 2008 年出现,它定义了浏览器和服务器之间建立持久、双向套接字连接的方式。这使得在浏览器中运行的 Web 应用程序可以向服务器发送数据,同时服务器也可以在不要求应用程序“轮询”(定期检查更新,通常采用滑动/指数衰减规模)的情况下向应用程序发送数据。
从底层来看,浏览器会请求服务器进行连接升级。一旦握手完成,浏览器和服务器就会切换到一个单独的二进制 TCP 连接进行双向通信。一个请求连接升级的 HTTP 请求示例如下:
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com
WebSocket 被广泛应用于各种场景,从社交媒体网站的弹出通知推送,到实时更新的流式仪表板和监控控制台,
超级会员免费看
订阅专栏 解锁全文
2860

被折叠的 条评论
为什么被折叠?



