当前位置: 首页 > news >正文

三种 SSE 对比

这里有三种方式,分别是 STDIO,HTTP SSE,WebFlux SSE。
SSE(Server-Sent Events),是服务端主动推送数据给客户端。

STDIO

Standard Input/Output
程序与外界交换数据的基本方式
包括 stdin(标准输入)、stdout(标准输出)、stderr(标准错误输出)

# 示例:命令行程序通过 STDIO 交互
echo "Hello World" | grep "Hello"

HTTP SSE

服务器推送事件
服务器向浏览器单向实时推送数据的技术
基于 HTTP 长连接,比 WebSocket 更轻量

// 客户端代码
const eventSource = new EventSource('/events');
eventSource.onmessage = function(event) {console.log('收到数据:', event.data);
};// 服务器端代码
@GetMapping("/events")
public SseEmitter streamEvents() {SseEmitter emitter = new SseEmitter();// 推送数据逻辑return emitter;
}

WebFlux 响应式

Spring WebFlux 是 Spring 5 引入的响应式 Web 框架
响应式编程:基于数据流和变化传播的编程范式
非阻塞、异步处理,适合高并发场景

@RestController
public class ReactiveController {@GetMapping("/stream")public Flux<String> streamData() {return Flux.interval(Duration.ofSeconds(1)).map(i -> "数据-" + i).take(10);}
}
http://www.dtcms.com/a/320777.html

相关文章:

  • 秋招笔记-8.8
  • Django模型开发全解析:字段、元数据与继承的实战指南
  • C++简单项目跟练【通讯录管理系统000】
  • 持中文的 TXT 合并 PDF 工具 —— GUI + ReportLab 实战
  • 基于定制开发开源AI智能名片S2B2C商城小程序的定价策略与市场定位研究
  • UniApp Vue3 TypeScript项目中使用xgplayer播放m3u8视频的显示问题
  • AI学习笔记三十五:实时传输视频
  • webrtc弱网-EncodeUsageResource类源码分析及算法原理
  • Baumer相机如何通过YoloV8深度学习模型实现高速公路车辆的实时检测计数(C#代码UI界面版)
  • 云原生时代的 Linux:容器、虚拟化与分布式的基石
  • 深入理解VideoToolbox:iOS/macOS视频硬编解码实战指南
  • 微软公布Windows 2030,要彻底淘汰鼠标、键盘
  • token过期为了保证安全,refresh token不过期,那么拿到refresh token就可以获取token,不还是不安全吗
  • 今日行情明日机会——20250808
  • 座舱HMI软件开发架构:核心功能与案例解析
  • 【重学MySQL】事务隔离
  • OLE延时剪切板技术深度解析:从资源管理器支持到远程桌面文件同步 含c++ demo代码 亲测可用
  • R语言代码加密(1)
  • 贪心(set维护)
  • React函数组件灵魂搭档:useEffect深度通关指南!
  • Docker容器部署discuz论坛与线上商城
  • 项目一系列-第2章 Git版本控制
  • 05--STL认识(了解)
  • 静态与动态住宅代理IP的技术差异和技术详解
  • Pytest项目_day09(skip、skipif跳过)
  • oracle-plsql理解和操作
  • 有鹿机器人:如何用±2cm精度重塑行业标准?
  • Function + 异常策略链:构建可组合的异常封装工具类
  • 机械学习--SVM 算法
  • 【Leetcode Hot 100 题目精华解析2025】python自用 --128.最长连续序列