【Qt】使用Qt实现Web服务器(八):SSE ( Server-sent Events )

news2025/1/8 4:38:00

1、简述

SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。
SSE 是单向通道,只能服务器向客户端发送消息,如果客户端需要向服务器发送消息,则需要一个新的 HTTP 请求。
WebSocket 是全双工通道,可以双向通信。
在这里插入图片描述

2、效果

在界面上不停的刷新服务器传到浏览器的数据,如下图红框中的数据:
在这里插入图片描述

3、源码

3.1 index.html

下面使用js的两个方法来实现
1)EventSource 接口是浏览器接收服务器发送事件通信的接口。
一个 EventSource 实例会对 HTTP 服务器开启一个持久化的连接,以 text/event-stream 格式发送事件,此连接会一直保持开启直到通过调用 EventSource.close() 关闭
EventHandler 属性

  • EventSource.onopen 在连接打开时被调用。
  • EventSource.onmessage 在收到一个没有 event 属性的消息时被调用。
  • EventSource.onerror 在连接异常时被调用。

只读属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1546996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

环境影响与碳排放生命周期评估应用及案例分析

生命周期分析 (Life Cycle Analysis, LCA) 是评价一个产品系统生命周期整个阶段——从原材料的提取和加工,到产品生产、包装、市场营销、使用、再使用和产品维护,直至再循环和最终废物处置——的环境影响的工具。这种方法被认为是一种“从摇篮到坟墓”的…

【Kubernetes】在 Mac 上搭建 Kubernetes

安装 Docker Desktop 前往 Install Docker Desktop on Mac | Docker Docs 下载 Docker Desktop 并完成安装。 配置镜像加速服务 在国内通过官方镜像源的下载速度很慢,因此需要配置镜像加速服务。 国内常见的镜像加速服务有: mirror.baidubce.comhub-…

基于springboot+vue+Mysql的网上图书商城

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

24/03/26总结

面向对象练习题:(封装,继承,多态) 封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为,(把零散的数据和行为封装成一个整体:也就是我们说的对象) 继承:当封装…

Java编程练习之类的多态

类的多态可以从两方面体现:一是方法的重载,二是类的上下转型。 1)方法的重载 方法的重载就是在同一个类中允许同时存在多个同名方法,只要这些方法的参数个数或类型不同即可。 练习1: 使用方法的重载描述所有的超市…

分治——快速排序算法

例题一 解法(快排思想 - 三指针法使数组分三块): 算法思路: 类⽐数组分两块的算法思想,这⾥是将数组分成三块,那么我们可以再添加⼀个指针,实现数组分 三块。 设数组⼤⼩为 n &#xff0c…

快速了解LED开关电源的常见故障及如何解决

LED开关电源应用广泛,在我们的生活和工作中无处不在。然而在LED开关电源的实际使用中会出现一些问题和故障,可能会造成电源和LED灯受损。本文纳米软件将为大家介绍常见的LED开关电源的故障以及解决方法。 1. 输出电流不稳定 LED开关电源输出电流不稳定通…

Nuxt2:node-sass替换为sass,避免因依赖python导致Can‘t find Python executable “python“错误

一、问题描述 由于node-sass依赖于python,在缺少python环境时,会报以下错误: npm ERR! gyp ERR! stack Error: Cant find Python executable "python", you can set the PYTHON env variable.当服务器环境不想安装python或者不方…

Vitis报错:fatal error: xxx.h: No such file or directory.

在跑vitis工程文件时出现fatal error: xxx.h: No such file or directory.的错误,出现这种情况的主要是出现在大家用了自定义IP。 记住如果时出现Makefile出现错误,并不是你的代码问题而是软件bug,我们需要更改一些文件才能正常跑。 讲解一下…

如何快速下载GEO数据并获取其表达矩阵与临床信息 | 附完整代码 + 注释

GEO数据库可以说是大家使用频率贼高的数据库啦!那它里面的数据怎么下载大家知道嘛!今天给大家展示一种快速获取它的表达矩阵和临床信息的方法! 话不多说!咱们直接开始! GEO编号获取 在GEO数据库中,你找到…

水牛社:宝妈副业,不仅赚钱更成长:一段充实之旅

大家好!作为一名90后的全职宝妈,今天非常荣幸能够与大家分享我的互联网赚钱经验。趁着宝宝午睡的宝贵时光,我抓紧写下了这篇文章,虽时间紧凑,但我会力求内容清晰明了。 大约从2022年4月开始,我踏上了互联网…

【Node.js】定时任务

Cron表达式 Cron表达式是用于表示定时任务的一种语法。它由6个字段组成,按顺序分别表示分、时、日、月、周几和年份。 * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └── 星期…

【智能算法】蛇优化算法(SO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2022年,FA Hashim等人受到蛇特殊交配行为启发,提出了蛇优化算法(Snake Optimizer, SO)。 2.算法原理 2.1算法思想 SO算法模拟蛇类的战斗与交配模式…

社会实践 | 暑期社会实践投稿攻略,凤凰网等(央媒/官媒)投稿入口,不同频道发稿详细报价

作为媒体行业的从业者,我们都清楚凤凰网等央媒/官媒的影响力和号召力。如果能在这些平台上发表文章,不仅可以增加个人影响力,还有利于传播自己的观点和思想。然而,很多人可能不知道如何才能在这些媒体上投稿。今天,我要…

错误记录

Packet for query is too large 错误原因 一般是没有修改Mysql允许传输的最大数据包大小,使用 SHOW VARIABLES LIKE %max_allowed_packet%;可以看到默认的大小,一般默认为1M。 处理方法 暂时修改:重启mysql后失效 --修改为10M set global…

鸿蒙开发实例:【demo-搜索历史记录】

图片演示效果: 鸿蒙OS开发更多内容↓点击HarmonyOS与OpenHarmony技术鸿蒙技术文档开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。或mau123789学习,是v喔 代码演示: // 注:当前代码基于宽度为…

开箱即用的中后台管理模版,建议收藏!

公众号:程序员白特,欢迎一起交流学习~ 原文作者:前端充电宝 大家好,我是白特。 今天来推荐几款开箱即用的中后台管理模版! Vue Element Admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 …

C++ 迭代器与反向迭代器

目录 一,什么是迭代器 1,定义 2,迭代器的设计思维 3,迭代器种类 二,迭代器与容器 1,容器中的迭代器 2,迭代器失效问题 三,迭代器的类型萃取(traits) …

稀碎从零算法笔记Day28-LeetCode:零钱兑换

前言:鸽了好多天了哈哈哈,虽然C站没更但是LC还是坚持刷的,任重道远啊!(可恶的寝室熄灯) 题型:动态规划 链接:322. 零钱兑换 - 力扣(LeetCode) 来源:LeetCode 题目描述…

城市内涝排水系统最新模型:慧天【HTWATER】与SWMM完美耦合

查看原文>>> 城市内涝水文水动力模型:慧天【HTWATER】 【城市内涝水文水动力模型介绍】 慧天排水数字化分析平台针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存…