WebSocket 详解

WebSocket 是一种在单个TCP连接上进行全双工通信的协议,它减少了不必要的HTTP头部开销,提高了数据传输效率。本文介绍了WebSocket的概述、协议的建立连接和数据传输过程,包括握手和数据包格式,帮助理解WebSocket的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概述

因为工作中用到了WebSocket,今天就对它进行一下整理。

首先介绍几个通信概念:

单工通信(simplex):只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。比如,遥控器和电视、电脑和打印机,收音机。

半双工通信(half-duplex):允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。因此,半双工通信实际上是一种可切换方向的单向通信。如:对讲机。

全双工通信(pull-duplex):允许数据同时在两个方向上传输,有两个信道,允许同时进行双向传输。通信双发都有独立的接收和发送能力。全双工通信效率高,控制简单,但造价高。如:电话、手机。

2、WebSocket

WebSocket 是HTML5 提供的一种在单个TCP连接上进行全双工通信的协议。

WebSocket 只需要完成一次握手,客户端和服务器之间就可以创建持久性的连接,并进行双向数据传输。这就使得客户端和服务器之间的数据交换变得更加简单。

之前为了实现这一效果使用ajax轮询。轮询就是客户端在特定的时间间隔下,向服务器发出请求,然后由服务器返回最新的数据给客户端。缺点是:客户端需要不断的向服务器发出请求,然而请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值