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

WebSocket通信的握手阶段

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

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

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

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

客户端代码示例:

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

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


http://www.kler.cn/a/614772.html

相关文章:

  • 图像数据增强教程:为目标检测任务准备数据
  • 【可视化教程】密码验证(栈)【算法竞赛】
  • 业务流程先导及流程图回顾
  • hugo+github pages 部署实验室网站
  • 用 pytorch 从零开始创建大语言模型(三):编码注意力机制
  • Ubuntu 22.04 安装向日葵远程控制
  • linux系统中fstab 各字段详细说明
  • 【初阶数据结构】线性表之双链表
  • API 请求需要证书认证? 如何在 Postman 中正确配置和使用?
  • ESP-01模块连接手机热点问题及解决方法
  • 【蓝桥杯14天冲刺课题单】Day 1
  • 跟着StatQuest学知识08-RNN与LSTM
  • prometheus+grafana监控虚拟机实操
  • Kinova Gen3:重新定义手术机器人的精度革命
  • 计算机底层基石:原码、反码、补码、移码深度剖析
  • python基础学习二(列表及字典的使用)
  • 解决MySQL GTID模式下的“CREATE TABLE ... SELECT“报错:完整指南与最佳实践
  • 红宝书第二十一讲:详解JavaScript的模块化(CommonJS与ES Modules)
  • vue3+bpmn.js基本使用
  • 使用msmtp和mutt在CentOS上发送指定目录下的所有文件作为邮件附件