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

WebSocket通信的握手阶段

1. 客户端建立连接时,通过 http 发起请求报文,报文表示请求服务器端升级协议为 WebSocket,与普通的 http 请求协议略有区别的部分在于如下的这些协议头:

上述两个字段表示请求服务器端升级协议为 websocket 协议。

2. 服务器端响应客户端,告诉客户端正在更换协议(状态码为 101),更新应用层协议为 websocket 协议,并在当前的套接字连接上应用新的协议。

3. 一旦 websocket 握手成功,服务端与客户端将会呈现对等的效果,都能接收和发送消息,当前连接将不再进行 http 的交互,而是开始 websocket 的数据帧协议,实现客户端与服务器端的数据交互。

客户端代码示例:

 服务端使用到了 Node 的 express ,还需要借助 nodejs-websocket 包,代码示例如下:

连接建立成功后,前后端就可以愉快的进行通信了。 

http://www.dtcms.com/a/98371.html

相关文章:

  • 基于 WebAssembly 的 Game of Life 交互实现
  • ArrayList和LinkedList比较
  • 使用 Python 进行链上数据监控:让区块链数据触手可及
  • 深入解析音频:格式、同步及封装容器
  • SQL Server:sys.dm_hadr_physical_seeding_stats
  • 2023第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组(真题题解)(C++/Java题解)
  • [项目]基于FreeRTOS的STM32四轴飞行器: 十六.激光测距定高功能
  • 【Web前端】解锁JavaScript中Web存储API的秘密
  • LoRA 模型微调框架核心原理及实现步骤
  • 第7期:生成式AI伦理边界——当技术撞上道德与法律的防火墙
  • GHCTF-web-wp
  • AI人工智能-Jupyter NotbookPycharm:Py开发
  • 电池的知识
  • MySQL 语句
  • 洛谷题单1-P5708 【深基2.习2】三角形面积-python-流程图重构
  • 【数据结构与算法】Java描述:第六节:排序算法(直接插入排序,希尔排序)
  • 3.29-4nmon
  • Python包管理完全指南:pip常用命令与最佳实践
  • Java项目实现幂等性方案总结
  • CSS3学习教程,从入门到精通, CSS3 盒子模型的详细语法知识点及案例代码(23)
  • Spring AI MCP 架构详解
  • [笔记.AI]向量化
  • Linux系统修改网卡名为eth0、eth1
  • 【CSS】相对位置小练习
  • SQL Server 备份相关信息查看
  • http与tcp的关系
  • 自动化发布工具CI/CD实践Jenkins常用工具和插件的使用
  • 二分查找【看了包会】
  • 线程概念与控制(中)
  • 深度剖析 ansible:从部署基础到模块运用及剧本编写