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

前端SSE-EventSource message事件执行异常问题

前端SSE-EventSource message事件执行异常问题


前言: 最近项目中需要做一个消息中心-需要实现实时推送消息到客户端,之前一直都是使用WebSocket,但是最近了解到有比它更轻量化的方法可以达到相同的效果,就是SSE。但是与后端进行联调配合的时候遇到了一些很奇怪的问题,也是研究了很久才解决,特此记录。

问题:前端监听了message 事件,但是后端一直发送消息,前端并不能实时收到发送的每一条消息,只有在断开链接的那一次,会收到前面收到的所有消息,并且记录的是同一秒发送的。

前端代码如下:这里因为我们后端需要检验Token并且必须放到Header里面,所以前端这里用了一个库(@microsoft/fetch-event-source)来实现SSE

const token = getAuthent('token');
 fetchEventSource('/api/base-sse/create', {
                method: 'get',
                headers: {
                    token
                },
                onopen(e) {
                    console.log('open', e);
                },
                onmessage(e) {
                    console.log('ffff', e);
                },
                onclose() {
                    console.log('sse断开');
                    // if the server closes the connection unexpectedly, retry:
                    throw new RetriableError();
                }
});

解决方案:原因是因为我们使用webpack的时候,启用compress压缩,这导致与SSE的解析冲突了,所以无法实时获取,我们只需要将 compress 改为 false即可。如下:

devServer: {
        host: '0.0.0.0',
        port: 8081,
        compress: false, // 是否启动压缩 gzip
        https: false,
        open: true,
        proxy: {
				......
		}
 }

http://www.kler.cn/news/367641.html

相关文章:

  • 探索现代软件开发中的持续集成与持续交付(CI/CD)实践
  • ubuntu常用文件操作
  • C# Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?
  • 设计模式(二)工厂模式详解
  • 李沐读论文-启发点记录2:Resnet--残差连接--kaiming老师神作
  • QT:MaintenanceTool 模块安装工具
  • TypeScript(中)+算法(二)
  • 道可云人工智能元宇宙每日资讯|《嘉兴市推动人工智能高质量发展实施方案》发布
  • C/C++ 每日一练:二分查找
  • 【网络协议栈】Tcp协议(上)结构的解析 和 Tcp中的滑动窗口(32位确认序号、32位序号、4位首部长度、6位标记位、16为窗口大小、16位紧急指针)
  • apply call bind 简介
  • 设计模式06-结构型模式1(适配器/桥接/组合模式/Java)
  • 理解LSTM
  • 【视频混剪Demo】FFmpeg的使用【Windows】
  • codeforces _ 补题
  • 数据可视化视频制作
  • 国内动态短效sk5,http
  • MongoDB Shell 基本命令(三)生成学生脚本信息和简单查询
  • Elasticsearch 在linux部署 及 Docker 集群部署详解案例示范
  • vscode如何debug环境配置?torchrun与deepspeed库又该如何配置?
  • Python爬虫:商品详情的“八卦记者”
  • LeetCode 3185.构成整天的下标对数目 II:哈希表
  • [Ansible实践笔记]自动化运维工具Ansible(二):Ansible的playbook及角色
  • AudioSetCaps数据集:包含190万对来自AudioSet录音的音频-字幕对。
  • HTTP协议相关知识点
  • 网络编程_day3