常见通信方式之Websocket

官方文档

背景

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

websocket的特点

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

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

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

websocket的常见应用场景

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

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

常见用法

待更新。。。

相关推荐
only_Klein6 分钟前
kubernetes Pod 通信过程演示
网络·kubernetes·tcpdump
以太浮标6 分钟前
华为eNSP模拟器综合实验之- DHCP Option 43 解析
服务器·网络·华为·云计算
智算菩萨12 分钟前
【网络工程师入门】DNS域名系统的深度解读与实践应用指南
网络·网络协议·系统架构
柒.梧.21 分钟前
从零搭建SpringBoot+Vue+Netty+WebSocket+WebRTC视频聊天系统
vue.js·spring boot·websocket
弹简特30 分钟前
【JavaSE-网络部分03】网络原理-泛泛介绍各个层次
java·开发语言·网络
数据安全科普王37 分钟前
端口与进程的关系:网络服务是怎么“开门”的?
网络·其他
devmoon39 分钟前
快速了解兼容 Ethereum 的 JSON-RPC 接口
开发语言·网络·rpc·json·区块链·智能合约·polkadot
前端呆头鹅41 分钟前
Websocket使用方案详解(uniapp版)
websocket·网络协议·uni-app
云小逸43 分钟前
【Nmap源码学习】Nmap 网络扫描核心技术深度解析:从协议识别到性能优化
网络·学习·性能优化
Trouvaille ~1 小时前
【Linux】UDP Socket编程实战(三):多线程聊天室与线程安全
linux·服务器·网络·c++·安全·udp·socket