Websocket

一、介绍

1、简介

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。而Http请求只能从客户端请求服务端才能得到响应。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

2、webSocket协议

本协议有两部分:握手和数据传输。

握手是基于http协议的。

(1)来自客户端的握手看起来像如下形式:

GET ws://localhost/chat HTTP/1.1

Host: localhost

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Key:dGhlIHNhbXBsZSBub25jZQ==

Sec-WebSocket-Protocol: chat,superchat

Sec-WebSocket-Version: 13

(2) 来自服务器的握手看起来像如下形式

HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Accept:s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Sec-WebSocket-Protocol: chat

3、作用

利用双向数据传输的特点可以用来完成很多功能,不需要前端轮询,浪费资源。

如:聊天功能、数据实时更新和视频弹幕等

二、springboot集成WebSocket

三、demo

相关推荐
乾元10 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
玉树临风江流儿10 小时前
WSL2通过主机转发流量,实现与开发板互相ping通
linux·服务器·网络
码界奇点10 小时前
基于eBPF技术的高性能网络防火墙系统设计与实现
开发语言·网络·毕业设计·php·wpf·go语言·源代码管理
sunlifenger10 小时前
【兆越课堂】时间的回归|网络“同步性”的进化简史
网络·5g·信息与通信
冀辉11 小时前
局域网部署时实现基于https的业务系统访问
网络协议·http·https
蒹葭玉树11 小时前
【C++上岸】C++常见面试题目--网络篇(第二十六期)
网络·c++·面试
七夜zippoe11 小时前
WebSocket实时通信系统构建:从握手协议到生产级实战
网络·python·websocket·网络协议·心跳
玉树临风江流儿11 小时前
linux使用 nmcli工具扫描、连接WiFi
网络
我送炭你添花11 小时前
树莓派 3B+ 部署 TR-069 ACS(自动配置服务器)GenieACS 实录
运维·服务器·网络协议
乐维_lwops11 小时前
利用Zabbix监控指定IP列表的ping
网络·tcp/ip·zabbix