常见通信方式之Websocket

官方文档

背景

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

websocket的特点

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

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

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

websocket的常见应用场景

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

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

常见用法

待更新。。。

相关推荐
涟漪海洋9 小时前
基于Netty的UDPServer端和Client端解决正向隔离网闸数据透传问题
网络
小疆智控11 小时前
从离散控制到集成管理:Modbus TCP转CANopen网关重构烟丝膨胀生产线
网络协议·tcp/ip·重构
国际云,接待11 小时前
微软云注册被阻止怎么解决?
服务器·网络·microsoft·云原生·微软·云计算
laocooon52385788611 小时前
基于Python的TCP应用案例,包含**服务器端**和**客户端**的完整代码
网络·python·tcp/ip
Blossom.11813 小时前
基于区块链的去中心化身份验证系统:原理、实现与应用
运维·服务器·网络·人工智能·机器学习·去中心化·区块链
沐森13 小时前
基于Fetch的post sse实现
网络协议
SZ17011023114 小时前
HTTP 请求报文 方法
网络·网络协议·http
Bruce_Liuxiaowei14 小时前
使用Nmap探测VNC服务信息—某单位KVM设备
网络·安全·web安全
比奥利奥还傲.14 小时前
QNAP威联通NAS配置SFTP与内网穿透技术实现远程文件访问
网络
君鼎15 小时前
C++操作系统与网络编程(针对特定岗位)
网络·c++