WebSocket

月伴飞鱼 2025-03-27 20:49:20
框架相关
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

为什么需要WebSocket?

WebSocket 出现之前,如果我们想实现实时通信,比较常采用的方式是 Ajax 轮询。

即在特定时间间隔(比如每秒)由浏览器发出请求,服务器返回最新的数据。

WebSocket 的出现可以对应解决上述问题:

WebSocket 的头部信息少,通常只有 2Bytes 左右,能节省带宽。

WebSocket 支持服务端主动推送消息,更好地支持实时通信。

WebSocket 是基于 TCP 的一种新的应用层网络协议。

它实现了浏览器与服务器全双工通信,即允许服务器主动发送信息给客户端。

  • 因此,在WebSocket 中,浏览器和服务器只需要完成一次握手。

两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。

生命周期

WebSocket 生命周期描述了 WebSocket 连接从创建到关闭的过程。

一个 WebSocket 连接包含以下四个主要阶段。

连接建立阶段:

在这个阶段,客户端和服务器之间的 WebSocket 连接被建立。

客户端发送一个 WebSocket 握手请求,服务器响应一个握手响应,然后连接就被建立了。

连接开放阶段:

在这个阶段,WebSocket 连接已经建立并开放,客户端和服务器可以在连接上互相发送数据。

连接关闭阶段:

在这个阶段,一个 WebSocket 连接即将被关闭,它可以被客户端或服务器发起,通过发送一个关闭帧来关闭连接。

连接关闭完成阶段:

在这个阶段,WebSocket 连接已经完全关闭,客户端和服务器之间的任何交互都将无效。

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!