通过Node + SSE 做了一个构建日志推送

SSE 是什么?

SSE 全称是 Server Sent Event,翻译过来的意思就是 服务器派发事件。

一个网页获取新的数据通常需要发送一个请求到服务器,也就是向服务器请求的页面。

使用 server-sent 事件,服务器可以在任何时刻向我们的 Web 页面推送数据和信息。

这些被推送进来的信息可以在这个页面上作为 Events [0] + data 的形式来处理。

白话篇

SSE 的本质其实就是一个 HTTP 的长连接,只不过它给客户端发送的不是一次性的数据包,而是一个 stream 流,格式为 text/event-stream。

所以客户端不会关闭连接,会一直等着服务器发过来的新的数据流63228564f9f60e5a4e135c7b14b4c64d.png

98ad066d286279459d987e9b6ea69473.png

SSE 与其他交互方式的区别

b1095e4c18ba06166f211c034082fbc3.png
交互示意图

SSE 与 WS 有什么区别?

方式 协议 交互通道 内容编码 重连 事件类型 总结
SSE HTTP 服务端单向推送 默认文本 默认支持断线重连 支持自定义消息类型 轻量级
WebSocket WS(基于 TCP 传输层的应用层协议,RFC6455  [1] 对于它的定义标准) 双向推送 默认二进制 手动实现 NO 扩展性、功能性强大

TCP/IP 五层模型

1884726c7b52e305a2ce19a2fbc006f7.png

SSE 兼容性

API

c06fe8f3db201806049a8d95358c7029.png

f31cad8b41bc0eace45666f10b5898c9.png

40fe2883fde0e771bd6f573ed45c617f.png

23626ec2e71aed7035519822c5863591.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值