sse实时通信
使用原因:用户网络环境较差,之前使用ws总是出现断连重连,导致数据总是不能实时更新,所以更换为sse
npm install event-source-polyfill
createWebSocket:创建sse连接
getWebSocketMsg:接收sse消息
import { EventSourcePolyfill } from "event-source-polyfill";import { getToken } from '@/utils/auth'class webSocketClass {constructor(name) {this.localUrl = `http`; //直连阿里云正式环境this.globalCallback = null;this.createWebSocket(name);this.readyState = 0;}createWebSocket(url) {var that =this// 建立连接this.eventSource = new EventSourcePolyfill(this.localUrl+ url,{// 设置重连时间heartbeatTimeout: 60 * 60 * 1000,// 添加tokenheaders: {Authorization: `Bearer ${getToken()}`,},});this.eventSource.onopen = (e) => {console.log("已建立SSE连接~");};this.eventSource.onmessage = (e) => {const d = JSON.parse(e.data);console.log("sse已接受到消息:", d);that.getWebSocketMsg(that.globalCallback);};this.eventSource.onerror = (e) => {console.log("SSE连接错误" + e.readyState);if (e.readyState == EventSource.CLOSED) {console.log("SSE连接关闭");} else if (this.eventSource.readyState == EventSource.CONNECTING) {console.log("SSE正在重连");//重新设置tokenthis.eventSource.headers = {Authorization: `Bearer ${getToken()}`,};} else {console.log("error", e);}};}getWebSocketMsg(callback) {console.log("开始接收sse消息~",this.eventSource);this.eventSource.onmessage = (ev) => {callback && callback(ev);};}close(){this.eventSource.close()console.log("SSE关闭" + e.readyState);}
}
export default webSocketClass;
使用方法:
this.warningSSE = new vueSSEUtil('/sse/warning/'+this.userId);this.warningSSE.getWebSocketMsg((evt) => {const d = JSON.parse(evt.data);d.warnCode = this.code_to_value(d.warnCode);console.log('sse回调数据',d) });
一定要在页面退出关闭sse
this.warningSSE.close()
相关文章:
sse实时通信
使用原因:用户网络环境较差,之前使用ws总是出现断连重连,导致数据总是不能实时更新,所以更换为sse npm install event-source-polyfill createWebSocket:创建sse连接 getWebSocketMsg:接收sse消息 impo…...
Qt专栏3—Qt项目创建Hello World
setp1 打开软件 双击Qt Creator 11.0.3 (Community),打进入软件界面 step2 创建项目 点击创建项目 step3 选择模板 选着Application(Qt)->Qt Widgets Application setp4 设置项目 名称中填入项目号名,创建路径中填入项目保存位…...
linux输出的重定向无效问题和解决
我们在调试程序或者打印日志时经常会遇到重定向的问题,而有时候会遇到重定向无效的问题,下面给一个简单的例子,首先写一个简单的test.c #include <stdio.h>int main(){fprintf(stdout, "hello\n");fprintf(stderr, "world\n");return 0; }编译生…...
chromium114添加新的语言国际化支持
一、需求说明 需要chromium114支持新语言体系,例如藏语,蒙古语,苗语等 二、操作步骤 1. build/config/locales.gni修改 在all_chrome_locales变量中添加新的语种标识,如下图。 2. 添加编译文件,告诉浏览器在编译时需要加载和输出那些文件 尝试编译出现错误一提示。需要…...
赛氪荣幸受邀参与中国联合国采购促进会第五次会员代表大会
11 月21 日 (星期二) 下午14:00,在北京市朝阳区定福庄东街1号中国传媒大学,赛氪荣幸参与中国联合国采购促进会第五次会员代表大会。 2022年以来,联合国采购杯全国大学生英语大赛已经走上了国际舞台,共有来自…...
车载通信架构 —— 传统车内通信网络发展回顾
车载通信架构 —— 传统车内通信网络发展回顾 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何…...
`maven.test.skip` 和 `skipTests` 的区别
maven.test.skip 和 skipTests 的区别 -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。 -Dmaven.test.skiptrue,不执行测试用例,也不编译测试用例类。...
linux输出的重定无效问题和解决
我们在调试程序或者打印日志时经常会遇到重定向的问题,而有时候会遇到重定向无效的问题,下面给一个简单的例子,首先写一个简单的test.c #include <stdio.h>int main(){fprintf(stdout, "hello\n");fprintf(stderr, "world\n");return 0; }编译生…...
开发上门按摩系统对技师如何管理,薪资结构怎么设计
开发完上门按摩系统平台上线之后,对技师的管理和薪资结构是非常重要的环节,关乎着平台的服务能力和服务质量,那么应该如何去管理和设计薪资结构呢 首先说技师管理: 一、培训和认证:平台应对技师进行全面的培训…...
云HIS系统源码,医院管理系信息统源码,融合B/S版四级电子病历系统
医院管理信息系统是以推进公共卫生、医疗、医保、药品、财务监管信息化建设为着力点,整合资源,加强信息标准化和公共服务信息平台建设,逐步实现统一高效、互联互通的管理系统。 SaaS模式Java版云HIS系统,在公立二甲医院应用三年…...
Redis篇---第十篇
系列文章目录 文章目录 系列文章目录前言一、怎么提高缓存命中率?二、Redis 如何解决 key 冲突?三、Redis 报内存不足怎么处理? 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…...
(vue)前后端配合实现文件预览功能
(vue)前后端配合实现文件预览功能 1.页面: 2.后台返回数据: 3.预览效果: 4.代码: <el-descriptions-item><template slot"label">文件名称</template><el-button type"text" click"…...
.NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !背景介绍 突然闯到路径搜索算法里…...
SQL Server删除重复数据只保留一条
介绍 最近在导入数据库数据, 有时候给的数据源文件,存在重复数据, 需要清除但是还需要保留一条记录的需求. 本文将介绍如何使用SQL Server来实现这个需求。 流程 下面是实现删除重复数据的流程,我们可以用表格展示每个步骤: 步骤 描述 步骤一 先…...
如何使用 WPF 应用程序连接 FastReport报表
随着期待已久的FastReport WPF的发布,您不再需要使用 FastReport .NET 来处理基于 WPF 的项目。 不久前,在 FastReport .NET 中使用 WPF 还相当不方便。并非一切都进展顺利;连接 FastReport.dll 和许多其他问题存在问题。我们重新思考了该方…...
【Django使用】4大模块50页md文档,第4篇:Django请求与响应和cookie与session
当你考虑开发现代化、高效且可扩展的网站和Web应用时,Django是一个强大的选择。Django是一个流行的开源Python Web框架,它提供了一个坚实的基础,帮助开发者快速构建功能丰富且高度定制的Web应用 Django全套笔记地址: 请移步这里 …...
uniapp - 开关按钮
目录 1.运行代码如下: 2.运行效果 3.switch属性 1.运行代码如下: <template><view class"switchBox"><switch change"switchChange" color"#F21177" :checked"form.checked" /></view&…...
使用sql语句获取SQL server库里所有表的表名,注释,行数
select * from (SELECT t.name,schema_id, SCHEMA_NAME(schema_id).t.name AS 表名, c.value AS 注释 FROM sys.tables AS t LEFT JOIN sys.extended_properties AS c ON c.major_id t.object_id AND c.minor_id 0 AND c.name MS_Description ) ss left j…...
D-Wave推出新开源及解决无线信道解码新方案!
(图片来源:网络) 加拿大量子计算机公司D-Wave(纽约证券交易所股票代码:QBTS)是量子计算系统、软件和服务领域的佼佼者,也是全球首家商业量子计算机供应商。 近期,该公司发布了一…...
JavaScrip获取视频第一帧作为封面图
在JavaScript中,你可以使用HTML5的<video>元素来加载视频,然后使用Canvas来捕获视频的第一帧作为封面图。以下是一个简单的例子: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&qu…...
2025届必备的五大降AI率助手横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 如今人工智能生成内容越来越普遍,在此情形下,好多平台针对AI写作的检…...
基于电液耦合转向铰接列车的换道轨迹规划及跟踪【附代码】
✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。 ✅ 如需沟通交流,扫描文章底部二维码。(1)电液耦合转向系统动力学建模与ADRC主动转角控制:…...
开源智能体集市:Lobe Chat Agents 项目解析与实战指南
1. 项目概述:一个开源的智能体集市如果你最近在折腾AI应用,尤其是想找一个能快速上手、功能强大且社区活跃的智能体(Agent)集合,那么“lobehub/lobe-chat-agents”这个项目绝对值得你花时间深入研究。简单来说…...
NanoPi R6C评测:RK3588S迷你主机的性能与散热优化
1. NanoPi R6C硬件解析:一款重新定义紧凑型ARM主机的设计革新初次拿到NanoPi R6C时,其全金属外壳带来的质感远超我的预期。这款由FriendlyElec推出的迷你主机,搭载了Rockchip RK3588S SoC,尺寸仅比普通路由器稍大,却完…...
五级地址解析是什么?为什么比四级多了行政村
你有没有遇到过这种情况?做物流分单,地址只解析到街道级别,但一个街道下面可能有十几个社区,分单不够精细;做政务数据统计,想按行政村/社区维度汇总,但地址库只有省市区街道四级,缺了…...
[特殊字符] 躺着把文章写了:如何通过 AI 结构化工程“制造”高质量内容@围巾哥萧尘[特殊字符][特殊字符] 躺着把文章写了:如何通过 AI
🚀 躺着把文章写了:如何通过 AI 结构化工程“制造”高质量内容围巾哥萧尘🧣1. 反常识:写作不是天赋,是工程很多人认为,写出一篇好文章需要过人的天赋、神来之笔的灵感,或者是数小时的苦思冥想。…...
别再手动写Cron了!用Furion的ScheduleUI可视化管理和调试你的.NET定时任务
告别硬编码:用Furion的ScheduleUI重塑.NET定时任务管理体验 在.NET生态中,定时任务管理长期处于"石器时代"——开发者不得不通过繁琐的代码配置和XML文件定义任务,每次修改都需要重新编译部署。这种开发模式不仅效率低下ÿ…...
三分钟看懂缠论:通达信自动分析插件让复杂理论秒变实战工具
三分钟看懂缠论:通达信自动分析插件让复杂理论秒变实战工具 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为缠论复杂的笔段划分和中枢识别头疼吗?ChanlunX缠论可视化插件将改…...
掌握AI教材生成技巧!低查重工具助你轻松编写专业教材
传统教材编写困境与 AI 解决方案 编写教材的过程离不开充足的资料支持,但传统的资料整合方式早已无法满足需求。过去,从教材标准、学术文献到教学实例,相关信息散布在知网、教研平台等多个渠道,筛选出有用的信息往往需要耗费几天…...
如何通过构建 AI 智能体找到工作
我也许应该把这篇文章叫作"2026年如何真正通过构建AI Agent找到工作",因为本文会偏向生产系统。大多数教程教你构建一个聊天机器人,然后就……停了。没有部署。没有记忆。没有防护栏。也没提当你的"Agent"产生幻觉,告诉客…...
