常见通信方式之Websocket

官方文档

背景

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

websocket的特点

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

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

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

websocket的常见应用场景

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

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

常见用法

待更新。。。

相关推荐
!chen13 小时前
LabVIEW TCP Server端工具TCP通信
网络·tcp/ip·labview
枷锁—sha14 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
郝学胜-神的一滴14 小时前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
池央14 小时前
CANN 算子诊断与故障定位:oam-tools 在异构计算错误解析中的作用
网络
“αβ”14 小时前
数据链路层协议 -- 以太网协议与ARP协议
服务器·网络·网络协议·以太网·数据链路层·arp·mac地址
释怀不想释怀14 小时前
Linux网络基础(ip,域名)
linux·网络·tcp/ip
开开心心就好14 小时前
AI人声伴奏分离工具,离线提取伴奏K歌用
java·linux·开发语言·网络·人工智能·电脑·blender
子榆.14 小时前
CANN 性能分析与调优实战:使用 msprof 定位瓶颈,榨干硬件每一分算力
大数据·网络·人工智能
驱动探索者15 小时前
U盘发展史
网络·cpu·u盘
青春给了代码15 小时前
基于WebSocket实现在线语音(实时+保存)+文字双向传输完整实现
网络·websocket·网络协议