【转】.net 下SSE使用demo

news/2025/1/14 16:16:39/文章来源:https://www.cnblogs.com/Violety/p/18671050

转自:https://www.cnblogs.com/SmallChen/p/15080231.html

所谓SSE,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推送“信息”(message)。这种信息在格式上很简单,就是“信息”加上前缀“data: ”,然后以“\n\n”结尾(既是所谓的事件流:通过一个持久的HTTP 响应发送,这个响应的MIME 类型为text/event-stream。响应的格式是纯文本)。

 

客户端代码:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/js/jquery-3.3.1.min.js"></script>
</head>

<body>
<ul id="test"></ul>
<script>
var test = $("#test");
if (typeof (EventSource != "undefined")) {

var es = new EventSource("/home/data");

es.onmessage = function (e) {
console.log(e);
test.append("<li>" + e.data + "</li>");
}
} else {
$("body").append("不支持EES");
}
</script>
</body>
</html>

 

 

服务端代码:

 

public IActionResult Index()
{
return View();
}

public ActionResult data()
{
Random random = new Random();
string _event = "message";
string data = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
if (random.Next(0, 10) % 3 == 0)
{
data = "新消息";
// _event = "NewMsg";      //切换监听事件
}

Response.ContentType = "text/event-stream";
return Content($"retry:{1000}\nevent:{_event}\nid:{DateTime.Now.Ticks}\ndata:{data}\n\n");
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 配置服务器间免密登录

一、准备工作 环境:主机名 IPjftest-221 192.168.31.221jftest-222 192.168.31.222jftest-223 192.168.31.223 以jftest-222为例: 二、操作过程 1.生成密钥对 [root@jftest-222 ~]# ssh-keygen密钥对存放位置 $HOME/.ssh/ 其中 id_rsa 为私钥; id_rsa.pub为公钥2. 将公钥复制…

WSL2 + ROS2 无法开启 rviz2、rqt 等图形化窗口

电脑是 AMD CPU 与 NVIDIA 独立显卡,CPU 有核显。 可能是对 AMD 核显没有兼容吗?需要让 rviz2、rqt 等图形化窗口运行在 NVIDIA 独显上吗? 解决办法是,在 BIOS 中设置仅使用独显模式。

此芯片具有自动校准功能还提供了1路输出功能VKD233HB SOT23-6L单按键触摸检测芯片/单通道触控方案

产品品牌:永嘉微电/VINKA 产品型号:VKD233HB 封装形式:SOP23-6L 概 述 VKD233HB具有1个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该芯片具有 较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了1路输出功能,可通过IO脚选择输出电平,输出模式。芯…

mac电脑--JDK配置

1.安装好jdk 打开mac环境配置:vim .bash_profile,然后 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.jdk/Contents/Home 可在intellij IDEA - FILE -----找到 验证配置:java -version,出现版本信息,安装即成功

【Aegisub】ASS常用特效标签整理笔记

目录特殊符号 (以下符号均使用在文字行中而不是{}标签内)1.软换行与硬换行2.硬空格特效标签 (以下符号均使用在{}标签内)1.斜体2.粗体3.下划线4.删除线5.边框宽度6.阴影距离7.边框模糊8.边缘模糊9.字体名称10.字体大小(绝对)11.字体大小(相对)12.字符间距13.文本旋转14.文本…

2.0 电气件---浪涌保护器(SPD)

1、简介 浪涌保护器也叫防雷器,是一种为各类电子设备、仪器仪表、通讯线路提供安全防护的电子装置。当电器回路或者通信线路中因为外界的干扰突然产生剑锋电流或者电压时,浪涌保护器能在极端的时间内导通分流,从而避免浪涌对回路中其他设备的损害。 主要可以分为两类:电压开…

意图框架习惯推荐方案,为用户提供个性化内容分发

在快速发展的现代生活中,用户面临着时间紧迫、信息过载和决策困难等痛点。例如新闻资讯过多,寻找感兴趣的内容费时费力;音乐和视频服务推荐内容不符合个人口味等。这些痛点,无疑增加了用户的烦恼,也给应用的开发者带来了挑战:如何更好识别用户意图,实现精准推荐,提高应…

[ABC136F] Enclosed Points

前言 模拟赛 \(\rm{T1}\) , 全世界都切出来了 思路 首先容易想到换贡献主体, 容易想到按点计算贡献 (所以我赛时为什么叉掉这个直接去按矩阵算贡献了, 无语) 考虑对于一个点, 其贡献的来源: 只要有一个子集构成的矩形包含它, 就会产生贡献 问题转化为对于一个点, 有多少个子集包…

IDEA中如何查看最近打开过的文件?

前言 大家好,我是小徐啊。我们在Java开发的时候,最重要的是选择一款合适的开发工具,像eclipse,IDEA等。其中,IDEA是我平时在开发的时候,用的那一款工具,它功能十分强大。今天,我要来介绍下它的一个功能,就是查看下最近打开过的文件。 IDEA如何查看最近打开的文件 首先…

【邮件钓鱼】技术干货:从伪造域名到隐藏链接,攻防实战详解(中)

0x01 前言 ★ 声明:未知攻焉知防,本文以安全教育为主,不可用于违法行为,造成的一切后果,与本人无关。邮件伪造是信息安全中的常见手段之一,很多人在实践中因不了解核心原理而踩坑。本篇将结合实践经验,系统讲解邮件伪造的原理与操作方法。 如果对 SPF 和 DKIM 验证原理不…

达梦sqllog慢日志配置方案,抓取用户所有的操作记录

很多用户反馈,开启审计影响数据库性能,但是不开启审计,数据库没保障,数据无安全性,误删了数据,无法找到记录 达梦慢日志可以配置下,记录用户的操作记录mkdir -p /data/dmlog/log vi /data/dmdb/sqllog.ini BUF_TOTAL_SIZE = 10240 #SQL 日志 buffer 占用空间的上限,单…

自动化办公效率工具如何提升团队协作效率?5大路径

一、自动化办公效率工具的应用现状 随着信息技术的飞速发展,自动化办公效率工具在企业中的应用越来越广泛。这些工具通过集成多种功能,帮助企业优化工作流程、提高工作效率、降低运营成本。目前,自动化办公效率工具的应用现状主要体现在以下几个方面:(一)工作流程的自动化…