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

如何将进度传给前端呢

业务需求,导出某一数据,但是有时候可能很多,可以设计一个进度提醒功能-----WebSocket推送导出进度。

(1) 添加依赖
<!-- pom.xml -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
(2) WebSocket配置类
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(exportProgressHandler(), "/export/progress").setAllowedOrigins("*");}@Beanpublic WebSocketHandler exportProgressHandler() {return new ExportProgressHandler();}
}
(3) WebSocket处理器(核心逻辑)
public class ExportProgressHandler extends TextWebSocketHandler {// 保存所有活跃连接(Key: ws_id, Value: Session)private static final ConcurrentHashMap<String, WebSocketSession> sessions = new ConcurrentHashMap<>();@Overridepublic void afterConnectionEstablished(WebSocketSession session) {String wsId = session.getHandshakeHeaders().getFirst("ws_id");sessions.put(wsId, session); // 建立连接时注册}// 推送进度给前端public static void sendProgress(String wsId, int progress) {WebSocketSession session = sessions.get(wsId);if (session != null && session.isOpen()) {session.sendMessage(new TextMessage("{\"progress\": " + progress + "}"));}}
}

http://www.lqws.cn/news/494587.html

相关文章:

  • UI设计 | 审美积累 | 极繁风格(Maximalism / Complex UI)
  • 左神算法之给定一个数组arr,返回其中的数值的差值等于k的子数组有多少个
  • leetcode题解77:组合(回溯算法的门面)
  • STM32 串口通信②:蓝牙模块HC-05控制单片机
  • python常用的正则表达式及作用
  • 编程江湖-正则表达式
  • vue3 el-table row-class-name 行字体颜色失效
  • Spring Cloud微服务
  • MM-AttacKG:一种使用大型语言模型构建攻击图的多模态方法
  • GitLab 17.8 备份秘籍:快速获取纯 Git 仓库与核心配置
  • 兆瓦闪充技术革命:解码新能源汽车补能赛道的技术跃迁与从业机会图谱
  • 60天python训练计划----day56
  • 左神算法之二叉树的个数
  • 数据标注师学习内容
  • Domain 层完全指南(面向 iOS 开发者)
  • 【数据结构初阶】--顺序表(一)
  • FPGA基础 -- Verilog 验证平台
  • 《哈希表》K倍区间(解题报告)
  • 论文略读:ASurvey on Intent-aware Recommender Systems
  • 13-MCP4725-带 EEPROM 存储器的 12 位数模转换器
  • DeepSeek中的提示库及其用法示例
  • AI编程再突破,文心快码发布行业首个多模态、多智能体协同AI IDE
  • leetcode543-二叉树的直径
  • Flink SQL执行流程深度剖析:从SQL语句到分布式执行
  • 【Linux学习笔记】进程间通信之共享内存
  • Kimi“新PPT助手” ,Kimi全新自研的免费AI生成PPT助手
  • 金融行业B端系统布局实战:风险管控与数据可视化的定制方案
  • 深入理解PHP中的面向对象编程
  • 电脑的虚拟内存对性能影响大吗
  • FPGA基础 -- Verilog 竞争/竞态(Race Condition)