IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 谈谈你对WebSocket的理解 -> 正文阅读

[网络协议]谈谈你对WebSocket的理解

一、什么是WebSocket

WebSocket是一种基于TCP的全双工通信协议,在应用层。

1.为什么需要WebSocket

1、传统上的HTTP协议它是无状态的,服务器不能够识别是哪个客户端发送的请求,不能够保存状态。
2、WebSocket弥补了这一问题,在客户端向服务端发送请求之后,服务器处理请求并返回到客户端,使用WebSocket可以使得服务器主动向浏览器推送消息

2.WebSocket与HTTP的区别

1、HTTP是客户端直接向服务端发送请求,WebSocket是在完成一次握手之后建立连接
2、发送HTTP请求的时候,服务器不能记住是谁发给他的
3、发送WebSocket请求,服务器可以记住是谁发给他的

二、WebSocket协议的原理

与服务器进行三次握手,建立TCP连接
向服务器发送HTTP请求,请求中包含WebSocket的版本信息:包括upgrade、connection等等。
服务器处理请求并返回客户端,此时可以进行WebSocket请求了
服务端也可以主动向客户端推送消息了。

三、WebSocket的优缺点

优点:建立WebSocket连接之后,客户端与服务端交流更方便
     客户端只需要向服务端发送一次请求,服务端主动向客户端发送消息
缺点:在服务端的状态不会频繁变化的时候,就不需要使用WebSocket连接了,浪费性能

四、WebSocket应用场景

即时聊天室

实时地图

五、WebSocket断线重连

客户端每隔一段时间都会向服务端发送一次请求,证明客户端还活着。

六、总结

  • 只需要向客户端发送一次请求,服务端可以主动推送消息到客户端

  • 向客户端发送的第一次请求中包含upgrade、connection,则证明已经可以进行WebSocket请求了

没有什么文笔,也感觉写的不对劲,理解的也不是很好,求大佬指点一二,谢谢啦。

参考文章:一文吃透 WebSocket 原理 刚面试完,趁热赶紧整理 - 掘金

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:25:55  更:2022-04-06 16:27:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:25:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码