首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
大数据
›
数据仓库与分析
›
websockets怎么工作的呢?
返回列表
发新帖
websockets怎么工作的呢?
[复制链接]
发表于 2024-6-26 22:30:58
来自手机
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
WebSockets是一种在单个TCP连接上进行全双工通讯的协议,使得客户端和
服务器
之间的数据互换变得更加简单,并允许服务端自动向客户端推送数据。下面是WebSockets的工作原理:
1. **握手阶段**:
- 客户端发起一个HTTP哀求到
服务器
,这个哀求中包罗了升级协议到WebSocket的头部字段(如`Upgrade: websocket`,`Connection: Upgrade`,以及一个特定的协议
版本
和子协议哀求等)。
-
服务器
收到这个哀求后,假如同意升级协议,会返回一个HTTP响应,状态码为101 Switching Protocols,而且包罗同样的升级头部字段,以及一个唯一标识此次连接的Sec-WebSocket-Accept字段(这个字段的值是哀求中的Sec-WebSocket-Key字段与特定的GUID字符串连接后进行SHA-1哈希运算,再将结果进行Base64编码得到的)。
- 当客户端收到这个响应后,就知道协议已经成功升级,然后客户端和服务器就可以开始WebSocket通讯了。
2. **数据传输阶段**:
- 一旦握手成功,客户端和服务器之间就建立了一个长期的连接,这个连接会保持打开状态,直到其中一方显式地关闭它。
- 在这个连接上,客户端和服务器可以互相发送和接收数据。WebSocket数据帧是以二进制格式传输的,它们可以是文本帧(UTF-8编码的文本数据)或二进制帧(原始二进制数据)。
- 数据帧在传输时会有一个小的头部,包罗了操作码(表示这是一个文本帧、二进制帧还是其他范例的帧)、
负载
长度等信息。这个头部相对于HTTP哀求来说开销要小得多,因此WebSocket更适合于需要频繁传输小量数据的场景。
3. **关闭连接**:
- 当客户端或服务器想要关闭连接时,会发送一个关闭帧。关闭帧可以包罗一个状态码和可选的关闭缘故原由。
- 收到关闭帧的一方会回应一个关闭帧,然后两边都会关闭连接,开释资源。
WebSocket的这种工作方式使得它非常适合于需要实时通讯的场景,如在线聊天、实时数据更新等。与传统的HTTP轮询或长轮询相比,WebSocket减少了不须要的网络开销和延迟,提供了更高效、更实时的数据传输能力。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
返回列表
浏览过的版块
.Net
我爱普洱茶
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表