【简单讲解下WebSocket】

在这里插入图片描述

🌈个人主页:程序员不想敲代码啊
🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家
👍点赞⭐评论⭐收藏
🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!

WebSocket

🔮WebSocket 是一种网络通信协议,它提供了浏览器(如Web客户端)和服务器之间的全双工通信渠道,这意味着数据可以同时双向传输,使得数据可以快速地来回传递。WebSocket 是为了应对传统的HTTP协议在实时通信方面的不足而设计的。

🔮具体来说,WebSocket 协议在客户端(通常是浏览器)与服务器之间建立一个持久的,长时间打开的连接。这种连接一旦建立,客户端和服务器就可以通过这个连接发送实时数据。与HTTP请求-应答模型相比,WebSocket减少了通信的时间延迟,因为不需要为每条消息重建TCP连接。

⛰️WebSocket 协议的工作流程如下:

  1. 🌊握手: 客户端通过发送一个特殊的HTTP请求开始握手过程。这个HTTP请求包括一个"Upgrade"头部,表明客户端想要升级连接到WebSocket。

  2. 🌊服务器响应: 如果服务器支持WebSocket协议,它会回复一个HTTP响应,同样带有"Upgrade"头部,并且状态码101,表示协议切换。

  3. 🌊连接建立: 一旦客户端和服务器完成握手,一个WebSocket连接就被建立,它们可以开始通过这个通道交换数据。

  4. 🌊数据帧: 数据在WebSocket协议中通过帧的形式来传输。WebSocket协议定义了多种帧类型,包括表示的是文本、二进制数据、连接关闭等。

  5. 🌊保持连接: WebSocket 连接会保持活跃直到一方显式地关闭连接,不像HTTP协议那样在每次请求响应后断开连接。

⛰️WebSocket 协议具有以下几个关键特点:

  • 👉低延迟: WebSocket 提供了低延迟的数据传输,这对于实时应用来说非常关键。
  • 👉减少开销: 减少了通信过程中的HTTP头部信息的额外开销,尤其是在频繁通信时。
  • 👉全双工: WebSocket 允许全双工通信,即客户端和服务器可以同时向对方发送消息。
  • 👉后向兼容: WebSocket 开始于HTTP握手,这使其能在现有的Web基础上作为升级来工作,同时也容易被各种防火墙和代理服务器接受。

WebSocket 协议在实时游戏、聊天应用、实时数据传输等领域得到了广泛使用。它是现代网页应用中实现实时双向通信的关键技术之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/298091.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卷积神经网络-池化层

卷积神经网络-池化层 池化层(Pooling Layer)是深度学习神经网络中的一个重要组成部分,通常用于减少特征图的空间尺寸,从而降低模型复杂度和计算量,同时还能增强模型的不变性和鲁棒性。 池化操作通常在卷积神经网络&am…

号卡极团分销管理系统 index.php SQL注入漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

深入解析Hadoop生态核心组件:HDFS、MapReduce和YARN

这里写目录标题 01HDFS02Yarn03Hive04HBase1.特点2.存储 05Spark及Spark Streaming关于作者:推荐理由:作者直播推荐: 一篇讲明白 Hadoop 生态的三大部件 进入大数据阶段就意味着进入NoSQL阶段,更多的是面向…

如何用python绘制地图并计算地图上两点之间的距离【附源码】

一、这段代码用plotiy库绘制了可视化世界平面地图,计算了纽约和洛杉矶两个城市之间的距离,并将其打印输出。同时,在地图上显示了这两个城市的坐标点,具体代码如下: import plotly.graph_objects as go from geopy.distance import geodesic # 创建地图对象 fig = go.Fig…

Docker Desktop 不支持 host 网络模式

先把这个结论的放在前面,直接访问链接就能看到官方文档中已经明确说了不支持。 参考链接:docker desktop for windows 不支持 host 网络模式 以前对于 docker 的网络模式,一直只是了解,没有亲自尝试过。结果今天在尝试 docker 的 …

Android12 简单的共享内存驱动实现 参考Ashmem

Android12 共享内存驱动实现 SOC:RK3568 system:Android12 概述: 1. 概述 Ashmem(Anonymous Shared Memory,Android 匿名共享内存),它基于 mmap 系统调用,可以让不同进程将同一段…

Flutter Web 的未来,Wasm Native 即将到来

早在去年 Google I/O 发布 Flutter 3.10 的时候就提到过, Flutter Web 的未来会是 Wasm Native ,当时 Flutter 团队就表示,Flutter Web 的定位不是设计为通用 Web 的框架,类似的 Web 框架现在有很多,而 Flutter 的定位…

DIY蓝牙键盘(1) - 理解 键盘报文(免费)

DIY蓝牙键盘(1) - 理解键盘报文 1. 键盘报文体验 一个键盘对于用户的体验是,用户按按键A他能看到字母A会在主机上显示出来。那这是如何实现的? 其实很简单,只要键盘发送下面的两个报文给主机,字母A就能在主机上显示出来。 (1)…

如何打包一个手机软件

目录 前言: 准备工具: 创建项目: 打包程序: 前言: 我们平时手机上使用的程序,或者电脑上使用的程序都可以由Web程序打包而来的,而打包不是一个.html文件也不是一个.js文件而是一个大型的文…

Centos-Linux安装部署MySQL-8.0

linux搭建mysql 1.使用系统的root账户 2.切换到 /usr/local 目录下 3.下载mysql wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz也可以直接在官方下载最新版本 官方下载 选择linux 4.解压mysql tar xvJf mysql-8.0.21-l…

MySQL基础【语句执行顺序】

一个SQL语句它的执行顺序对于我们思考题意有着很重要的关系 题意就是:找出哪些只逛超市不买单的人(买单0元也算哦,可能是使用的是代金券吧) 看到此题关键找出两个数据 参观过的人 和 买单的人 他们的差就是白嫖的人(支…

Excel、PowerQuery 和 ChatGPT 终极手册(上)

原文:Ultimate ChatGPT Handbook for Enterprises 译者:飞龙 协议:CC BY-NC-SA 4.0 序言 在不断发展的数据管理和分析领域中,掌握 Excel 的查找功能不仅是一种技能,更是高效数据处理的基石。《使用 Power Query 和 Ch…

可变参数模板

可变参数模板的概念 可变参数模板是C11新增的最强大的特性之一,它对参数高度泛化,能够让我们创建可以接受可变参数的函数模板和类模板。 在C98/03中,类模板和函数模板中只能包含固定数量的模板参数,可变模板参数无疑是一个巨大的…

51单片机使用uart串口和助手简单调试

基础知识 参考 特殊功能寄存器PCON(控制波特率是否加倍SMOD)、TMOD(T0,T1计时器的功能方式)、TCON(T0,T1计时器的控制)、串口中断、SCON(串口数据控制寄存器) 关闭定时器1中断&…

leetcode 热题 100(部分)C/C++

leetcode 热题 100 双指针 盛最多水的容器 【mid】【双指针】 思路: 好久没写代码sb了,加上之前写的双指针并不多,以及有点思维定势了。我对双指针比较刻板的印象一直是两层for循环i,j,初始时i,j都位于左界附近&…

能源照明运作机制与智能调控技术实现途径

随着城市化进程的加速,智慧城市已成为现代城市发展的重要方向。能源照明作为城市基础设施的重要组成部分,其运作机制与智能调控技术的实现对于提高城市能源利用效率、促进可持续发展具有重要意义。 能源照明是一个涵盖广泛、错综复杂的领域,它…

7种链游媒体宣发工具助力游戏营销-华媒舍

一. 什么是链游媒体 链游媒体是指以区块链技术为基础,实现游戏与媒体资源之间的连接和交互的媒体形态。通过区块链技术,链游媒体能够确保游戏内容和媒体信息的透明性和不可篡改性,提供更加公正、透明的游戏环境。 二. 链游媒体宣发工具的重要…

速通数据结构与算法第四站 双链表

系列文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 2 速通数据结构与算法第二站 顺序表 http://t.csdnimg.cn/WVyDb 3 速通数据结构与算法第三站 单链表 http://t.csdnimg.cn/cDpcC 感谢佬们…

WebGIS 之 vue3+vite+ceisum

1.项目搭建node版本在16以上 1.1创建项目 npm create vite 项目名 1.2选择框架 vuejavaScript 1.3进入项目安装依赖 cd 项目名 npm install 1.4安装cesium依赖 pnpm i cesium vite-plugin-cesium 1.5修改vite.config.js文件 import { defineConfig } from vite import vue fr…

07-app端文章搜索

app端文章搜索 1) 今日内容介绍 1.1)App端搜索-效果图 1.2)今日内容 文章搜索 ElasticSearch环境搭建 索引库创建 文章搜索多条件复合查询 索引数据同步 搜索历史记录 Mongodb环境搭建 异步保存搜索历史 查看搜索历史列表 删除搜索历史 联想词查询 联想词的来源 联…