HTTP,Websocket,SSE协议

http协议在嵌入式开发很常见,就是面向服务器的一次连接(一次通信完就断开),客户端可以根据不同的路由来访问服务器不同的功能

Websocket是http基础上升级的双向长连接协议,客户端自己构建http请求头,加上一些请求升级服务器会在请求头到了之后保存套接字,后续使用套接字来进行通信,依靠二进制来进行通信,后续就没有服务器的应答,全是纯二进制数据。脱离了http协议。

SSE是基于http的长连接协议,并没有脱离http,只是对http连接的延长,但他是单向的,只能服务器向客户端发送数据,数据都是文本和字符串,同样,客户端也需要自己构建请求头,服务器响应后也会保存套接字来进行通信,后续服务器发的数据就是应答+数据。。。应答+数据,循环发送,每一个应答和数据都是一个数据体,服务器一次消息发送,客户端在消息处理函数里面是相当于收到了两个数据体。

客户端可以根据不同的URI,比如想要使用websocket,就在路径后面加上/ws,就可以访问服务器针对websocket协议的回调函数,服务器根据不同的路由来设置不同的回调函数,来实现支持不同的通信协议。

相关推荐
liann1194 小时前
3.2_红队攻击框架--MITRE ATT&CK‌
python·网络协议·安全·网络安全·系统安全·信息与通信
zjun10015 小时前
TCP专栏-1.TCP协议概念说明
网络·网络协议·tcp/ip
仍然.8 小时前
网络编程(二)---TCP字节流套接字编程
网络·网络协议·tcp/ip
Ether IC Verifier9 小时前
OSI网络七层协议详细介绍
服务器·网络·网络协议·计算机网络·php·dpu
环流_10 小时前
HTTP 协议的基本格式
java·网络协议·http
AIwenIPgeolocation12 小时前
IP地址数据服务:赋能游戏行业体验优化与精细化运营
网络协议·tcp/ip·游戏
TechWayfarer13 小时前
2026年IP归属地查询平台选型指南:金融风控、异地登录、离线库全场景实测
网络·网络协议·tcp/ip
Rust研习社13 小时前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
信徒_13 小时前
技术选型 RPC 框架
网络·网络协议·rpc