当前位置: 首页 > news >正文

WEBSOCKET研究

一、WEBSOCKET的通信方式
通过捕包可以知道,WEBSOCKET的通信至少经过如下两个阶段
1、第一阶段是HTTP连接阶段
由客户端连接服务器TCP端口,然后发出标准的HTTP GET请求。
但这个GET请求里会带一个安全码Sec-WebSocket-Key。

GET / HTTP/1.1\r\n
Host: 192.168.120.33:8080\r\n
Connection: Upgrade\r\n
Upgrade: websocket\r\n
Sec-WebSocket-Version: 13\r\n
Sec-WebSocket-Key: tRbfQhJzXEBmQlEIjVyIDA==\r\n
\r\n

2、WEBSOCKET服务器要判断这个KEY,如果存在,就要获取下来
以便于后续认证
并回复101升级,同时带一个服务器的KEY:Sec-WebSocket-Accept

HTTP/1.1 101 Switching Protocols\r\n
Upgrade: websocket\r\n
Connection: Upgrade\r\n
Sec-WebSocket-Accept: a2TlOCxzgJ30SiwCycOC4A8CHCE=\r\n
\r\n

3、 这样双方就有了一个通信密钥交互结果
在服务端给客户端发送数据时,会带一个WEBSOCKET的头:
WebSocket
0… … = Fin: False
.000 … = Reserved: 0x0
… 0010 = Opcode: Binary (2)
0… … = Mask: False
.111 1110 = Payload length: 126 Extended Payload Length (16 bits)
Extended Payload length (16 bits): 4082
Payload

头共32位。
前16位,是选项位以及长度标识
后16位,是长度

http://www.xdnf.cn/news/1019503.html

相关文章:

  • 传智健康---十天项目总结
  • 邮科OEM摄像头重塑楼宇安防价值链条
  • 010502管道符_防火墙出入站_不回显带外-渗透命令-基础入门-网络安全
  • 多模态大语言模型arxiv论文略读(120)
  • ArcPy 与 ArcGIS .NET SDK 读取 GDB 要素类坐标系失败?GDAL 外挂方案详解
  • 会计-收入-3-关于特定交易的会计处理
  • Flask应用中处理异步事件(后台线程+事件循环)的方法(2)
  • C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)
  • 论文阅读:arxiv 2025 Not All Tokens Are What You Need In Thinking
  • 一致性hash
  • PG、SprinBoot项目报错,表不存在
  • 代码训练LeetCode(34)文本左右对齐
  • 无人机避障——感知篇(Orin nx采用zed2双目相机进行Vins-Fusion-GPU定位,再通过位姿和深度图建图完成实时感知)
  • .NetCore 8 反射与源生成器(Reflection vs Source Generators)
  • 安装 Ubuntu Desktop 2504
  • Spring Boot自动配置原理与实践
  • 3.图数据Neo4j - CQL的使用
  • 6月13日day52打卡
  • docker-compose部署tidb服务
  • 二叉树的算法
  • 将包含父子关系的扁平列表 List<Demo> 转换成树形结构的 List<DemoVO>,每个节点包含自己的子节点列表
  • 年化收益237%的策略,12年年化是38%,支持配置最小日期,附aitrader_1.5代码发布
  • 爬虫技术栈解析:XPath与BeautifulSoup的深度对比与实践指南
  • WPF数据绑定疑惑解答--(关于控件的Itemsource,Collection绑定)
  • 获取Linux设备系统启动时间和进程启动时间
  • 基于Netty的UDPServer端和Client端解决正向隔离网闸数据透传问题
  • 前端八股文-vue篇
  • 2025-06-13【视频处理】基于视频内容转场进行分割
  • 深度剖析:AI 社媒矩阵营销工具,如何高效获客?
  • 实验复现:应用 RIR 触发器的 TrojanRoom 后门攻击实现