常见通信方式之Websocket

官方文档

背景

在没有websocket之前,如果需要不断更新页面的某一部分信息,通常是采用基于http请求的单向轮询。但是轮询的话,一方面,我们又不希望过于频繁的请求服务器,一方面,又希望能够能快的收到最新的消息。显然,轮询,并不能很好的满足我们的需求。于是,websocket被设计了出来。

websocket的特点

1、基于tcp实现的的长连接,理论上可以永久地维持连接,支持比传统轮询更长的轮询间隔,30、60秒甚至更长。websocket在没有消息的时候,会通过挂起请求的方式保持连接,到达时限的时候象征性地回个消息,以保持连接

2、全双工,实现了服务端与客户端的互相通信。也因此,一旦有了新消息,服务端可以主动发起消息通知,解决了传统轮询只能服务端被动询问是否有新消息的难题。

3、单次握手,你可以理解为门票。持有门票的client才能与服务端通信。而单次握手的过程,便是服务端给客户端发门票的过程。通信的过程中,采取认票不认人的逻辑。

websocket的常见应用场景

1、代替传统轮询,实现消息的实时更新。

2、依赖全双工实现的多人在线交互类系统。

常见用法

待更新。。。

相关推荐
hello_2501 小时前
动手模拟docker网络-bridge模式
网络·docker·桥接模式
武文斌771 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
爱吃喵的鲤鱼1 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
爱吃小胖橘2 小时前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎
萧鼎2 小时前
Python schedule 库全解析:从任务调度到自动化执行的完整指南
网络·python·自动化
7哥♡ۣۖᝰꫛꫀꪝۣℋ3 小时前
网络层--数据链路层
网络·tcp/ip·智能路由器
_清浅3 小时前
计算机网络【第四章-网络层】
网络·计算机网络·智能路由器
沐浴露z4 小时前
【深入理解计算机网络08】网络层之IPv4
网络·计算机网络·网络编程·信息与通信·408
北城以北1235 小时前
生成树协议STP详解
网络协议
望获linux5 小时前
【实时Linux实战系列】实时系统的可观测性:Prometheus 与 Grafana 集成
大数据·linux·服务器·开发语言·网络·操作系统