【保姆级】WebSocket是什么有什么用

news2024/12/23 16:05:12

WebSocket

WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。

HTTP协议和WebSocket协议对比:

  • HTTP是短连接

  • WebSocket是长连接

  • HTTP通信是单向的,基于请求响应模式

  • WebSocket支持双向通信

  • HTTP和WebSocket底层都是TCP连接

思考:既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?

WebSocket缺点:

服务器长期维护长连接需要一定的成本各个浏览器支持程度不一WebSocket 是长连接,受网络限制比较大,需要处理好重连

结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用

WebSocket应用场景:

1). 视频弹幕

2). 网页聊天

3). 体育实况更新

4). 股票基金报价实时更新

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud OpenFeign--声明式WebService 客户端

😀前言 本篇博文是关于SpringCloud OpenFeign的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动…

排序算法—

1 1.冒泡排序&#xff08;相邻两两比较&#xff09; 理解&#xff1a;进行n轮循环&#xff0c;相邻元素两两比较&#xff0c;交换位置 先将最大/最小元素放到最后一个位置 然后缩小j的比较范围&#xff0c;因为每一轮循环最后一个元素的位置都已经确定了 #include <stdio.h&…

Ubuntu 图形界面查看Mysql 数据库内容

1.安装mysql workbench 打开ubuntu软件中心&#xff0c;搜索如下字符&#xff0c;安装这个社区版的workbench 2.登录workbench 按下图依次打开该安装后的软件 点击此处进行登录&#xff0c;首次登录可能需要密码&#xff0c;第二次如果记住密码了就不需要了。 3.查看数据库的…

Python程序设计实例 | 学生管理数据库系统的开发

本文将通过一个学生管理数据库系统的开发过程来展示如何系统地基于Python实现SQLite数据库编程。以下首先提出数据库系统的基本结构&#xff0c;以及如何通过SQLite逐步达到这些要求并进行常规操作。 01、数据表结构 该学生管理数据库系统包括4张表&#xff1a; 专业表、学生…

华为数通方向HCIP-DataCom H12-821题库(单选题:361-380)

第361题 如图所示是一台路由器的BGP输出信息。那么以下关于这段信息的描述,错误的是哪一项? <Huawei>display bgp error Error Type: Peer Error Peer Address:10.1.1.2 VRFName:Public Error Info: Router-ID conflictA、该路由器邻居地址是10.1.1.2 B、Error Type显…

SWC 流程

一个arxml 存储SWC &#xff08;可以存多个&#xff0c;也可以一个arxml存一个SWC&#xff09;一个arxml 存储 composition &#xff08;只能存一个&#xff09;一个arxml 存储 system description (通过import dbc自动生成system) 存储SWC和composition的arxml文件分开&#…

Python基础指令(上)

Python基础指令上 常量和表达式变量和类型1. 什么是变量2. 变量的语法2.1 定义变量2.2 使用变量 3. 变量的类型4. 为什么要有这么多类型5. 动态类型特性 注释输入输出1. 程序与用户的交互2. 通过控制台输出3. 通过控制台输入 运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. …

科学家首次为地球“全面体检”;国产光刻机或系误传;推特或将按月收费丨RTE开发者日报 Vol.52

开发者朋友们大家好&#xff1a; 这里是「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

nginx(CVE-2022-41741和41742) 漏洞修复

一、漏洞描述 近期Nginx安全发布几个中高危漏洞&#xff1a;CVE-2022-41741 (Memory Corruption) – CVSS score 7.1 (High)、CVE-2022-41742 (Memory Disclosure) – CVSS score 7.0 (High)&#xff0c;上述是&#xff1a;MP4 流媒体模块&#xff08;ngx_http_mp4_module&…

固定资产管理系统有哪些基本功能

固定资产管理系统是一种用于管理和跟踪企业固定资产的软件。它能够帮助企业实现固定资产的全生命周期管理&#xff0c;包括资产采购、仓储、申请、维护、损坏等环节。以下是固定资产管理系统的一些基本功能&#xff1a;资产信息管理&#xff1a;系统可记录公司固定资产信息&…

「聊设计模式」之桥接模式(Bridge)

&#x1f3c6;本文收录于《聊设计模式》专栏&#xff0c;专门攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎持续关注&&收藏&&订阅&#xff01; 前言 设计模式是程序员不可或缺的一部分。它们提供了一种通用的…

华为数通方向HCIP-DataCom H12-831题库(单选题:61-80)

第61题 R3与R4的IS-IS Leve1-1邻居没有建立,根据本图的信息可能的原因是? A、R3与R4的互连接口circuit-type不四配 B、R3与R4的区域号不同 C、R3与R4的IS-Leve1不匹配 D、R3与R1的IIH认证失败 答案:B 解析: 直接看图中的非0数字就能得出答案。 Display isis error 是查看…

如何开心的在iOS上玩NDS游戏

如何开心的在iOS上玩NDS游戏 先说结论&#xff0c;有原生方案和web方案2种。 Web 方案 其实现在的 webassembly 技术已经非常成熟了&#xff0c;我们可以通过编译 C 语言的模拟器代码&#xff0c;然后在浏览器上运行。 这样就可以实现一个在线的模拟器了&#xff0c;而且不…

内网穿透的应用-Cloudreve搭建云盘系统,并实现随时访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

mysql表的导出和导入

表的导出 mysql 默认对导出的目录有权限限制&#xff0c;也就是说使用命令进行导出的时候&#xff0c;需要指定目录进行操作 show global variables like ‘%secure%’; secure_file_priv 值情况分析&#xff1a; 如果设置为empty&#xff0c;表示不限制文件生成的位置&#x…

MySQL:获取Auto_increment失败问题记录

项目场景&#xff1a; 人员权限设置&#xff0c;定义了一张存储自增id的表sys_id_sequence&#xff08;A表&#xff09; /*A表定义*/ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for sys_id_sequence -- -----------…

PyTorch深度学习实战(16)——面部关键点检测

PyTorch深度学习实战&#xff08;16&#xff09;——面部关键点检测 0. 前言1. 关键点检测1.1 关键点检测模型分析1.2 数据集分析 2. 面部关键点检测3. 2D 和 3D 面部关键点检测小结系列链接 0. 前言 我们已经学习了如何解决二分类(猫狗分类)和多分类( fashionMNIST )问题。本…

Python(八十七)函数的定义与调用

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

ffmpeg抠图

1.不用png&#xff0c;用AVFrame 2.合流 3.图片抠图透明 (1.)mp4扣yuv图&#xff0c;(2)用1. (3)用抠图算法函数对yuv进行处理 ffmpeg -y -i TJTV.png -vf colorkey0x0000FF:0.5:0.0 -c:v png t.png0x0000FF&#xff1a;六位每两位分别表示红绿蓝&#xff0c;因此它是对…

如何提高技术领导力?与你分享 5 个心得

技术领导力于很多人而言都是谜一般的存在。有观点认为&#xff0c;实战经验丰富的资深开发最终只有成为技术管理者才能继续成长。从某些方面来看&#xff0c;这可能是对的&#xff0c;但考虑到公司结构和规章制度等&#xff0c;想要完成从「个人贡献者」到「技术管理者」的跨越…