当前位置:网站首页>不要小看WebSocket!长连接、有状态、双向、全双工都是王炸技能
不要小看WebSocket!长连接、有状态、双向、全双工都是王炸技能
2022-07-13 18:29:00 【InfoQ】


什么是WebSocket?

UDP
- 英文全称:
User Datagram Protocol
- 中文名称:用户数据报协议
- 无连接协议
- 速度快
- 允许丢失数据包
- 适合需要快速、高效传输的应用
TCP
- 英文全称:
Transmission Control Protocol
- 中文名称:传输控制协议
- 面向连接的协议
- 传输可靠,保证不会丢失任何数据包
- 速度较慢,需要更多资源
- 适合需要高可靠性的应用程序
HTTP
- 英文全称:
Hypertext Transfer Protocol
- 中文名称:超文本传输协议
- 无状态协议
- 遵循客户端-服务器模型
- 广泛应用于Web 浏览器和 Web 服务器之间通信
- WebSocket URL 使用ws 或者 wss,而不是http、https
WebSocket 是如何工作的?



- 第一步:客户端向服务端通过握手协议建立连接
- 第二步:服务端向客户端回应握手请求
- 第三步:服务端开始向客户端推送消息
- 第四步:客户端可以主动断开websocket连接
WebSocket 使用场景
- 游戏平台
- 直播平台
- 视频平台
- 聊天平台
- 等等
WebSocket与MQTT的对比
- WebSocket没有优先级的概念,而MQTT可以设置优先级
- WebSocket延迟比较低,而MQTT延迟比较高
- WebSocket没有主题的概念,而MQTT可以设置主题
WebSocket与HTTP的对比
- WebSocket 是一种双向通信协议,而HTTP 协议是一种单向协议
- HTTP 连接比 WebSocket 慢
- WebSocket 协议提供了一个持久连接来交换消息,而HTTP 虽然允许多个请求重用单个连接,但通常会有小的超时时间来控制资源消耗。
WebSocket优势
- 支持双工通信。
- 可以实时发送和接收数据。
- 可以跨源通信
- 跨平台兼容性好
- 开销小
- 支持长连接
- 等等
WebSocket缺点
- Web 浏览器必须完全兼容 HTML5,不然用不了WebSocket
- 不适于多次动态的场景
- 没办法做到本地缓存
- 跨源通信可能带来数据泄露的风险
总结
- 什么是WebSocket?
- UDP
- TCP
- HTTP
- WebSocket 是如何工作的?
- WebSocket 使用场景
- WebSocket与MQTT的对比
- WebSocket与HTTP的对比
- WebSocket优势
- WebSocket缺点
- 总结
边栏推荐
- 【每日一题】判断是不是平衡二叉树
- The command prompt checks the occupation of a port and clears the occupation
- 杰理之对箱左右声道设置【篇】
- Mallbook: how to promote the rapid implementation of supply chain finance through the supply chain settlement management system?
- 记一次对某站点详细的渗透测试
- cuDNN神经网络加速库的配置
- shell脚本学习记录
- 杰理之VM 整理的时候会导致数码管闪屏【篇】
- 小程序毕设作品之微信企业公司小程序毕业设计(3)后台功能
- 小程序毕设作品之微信教室预约小程序毕业设计(1)开发概要
猜你喜欢

Cat and dog classification vgg16 bottleneck

MySQL basic query statement

Suddenly announce the dissolution!

将 Terraform 生态粘合到 Kubernetes 世界

小程序毕设作品之微信教室预约小程序毕业设计(2)小程序功能

Summary of some experiences in the process of R & D platform splitting

Mallbook: how to promote the rapid implementation of supply chain finance through the supply chain settlement management system?

小程序毕设作品之微信企业公司小程序毕业设计(2)小程序功能

手机自动化使用命令查看APP包名

Wechat classroom reservation of applet completion works applet graduation design (3) background function
随机推荐
Spot gold knowledge that Xiaobai must learn (24 terms)
小程序毕设作品之微信企业公司小程序毕业设计(7)中期检查报告
基于华为WAC双机VRRP热备份下旁挂三层组网隧道转发模式解决方案
Introduction to word2vec and the application of CNN in natural language
word2vec介绍及CNN在自然语言中的应用
【Renesas RA6M4开发板之按键和LED的GPIO】
Deeply uncover Alibaba cloud's asynchronous task capability of function computing
小程序毕设作品之微信教室预约小程序毕业设计(4)开题报告
Small program graduation project of wechat enterprise company (1) development outline
malloc,vmalloc与kmalloc,free,kfree与vfree的区别和联系
Day102. Shangyitong project
C primer plus learning notes - 4. File IO (input / output)
命令提示符查看某端口占用情况,并清除占用
Use cpolar to build a commercial website (apply for website security certificate)
Panorama of kubernetes troubleshooting
MySQL basic query statement
猫狗分類-VGG16-bottleneck
viewpager禁止左右滑动
测试基础4
Wechat classroom appointment of applet completion works (1) summary of development