常见通信方式之Websocket

官方文档

背景

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

websocket的特点

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

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

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

websocket的常见应用场景

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

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

常见用法

待更新。。。

相关推荐
桌面运维家7 分钟前
VLAN配置进阶:抑制广播风暴,提升网络效率
开发语言·网络·php
安静轨迹25 分钟前
TLS_SSL 警报码完整手册
网络·网络协议·ssl
minji...1 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
2501_921649493 小时前
期货 Tick 级数据与基金净值历史数据 API 接口详解
开发语言·后端·python·websocket·金融·区块链
木木em哈哈4 小时前
记一次在线编辑器的探索
linux·服务器·网络
一个有温度的技术博主4 小时前
网安实验系列一:Burp Suite探测敏感信息路径
网络·安全
我要成为嵌入式大佬4 小时前
正点原子MP157--问题详解--二(NFS挂载根文件系统双网卡设置)
linux·服务器·网络
独断万古他化5 小时前
【Java 实战项目】多用户网页版聊天室:消息传输模块 —— 基于 WebSocket 实现实时通信
java·spring boot·后端·websocket·ajax·mybatis
lifejump5 小时前
双冗余链路实现(2/2期)
网络
F1FJJ6 小时前
Shield CLI PostgreSQL 插件现已上架 VS Code 扩展市场
网络·vscode·网络协议·postgresql·开源软件