vue3使用sse

2023-05-16

以下是chatgpt4对于sse技术的阐述
在这里插入图片描述

SSE (Server-Sent Events) 技术是一种基于 HTTP 的推送技术,通过一个持久性的 HTTP 连接,服务器可以将实时数据推送给客户端,而客户端无需发送任何请求,也无需刷新页面即可实时接收数据。

SSE 技术可以用于实时更新数据,例如股票价格、天气预报、即时通讯等应用场景。SSE 相对于 WebSocket 技术来说,更加轻量级,因为 SSE 只需要一个 HTTP 连接即可实现推送功能,而 WebSocket 则需要建立一个全双工的 TCP 连接。

在使用 SSE 技术时,客户端需要使用 JavaScript API 来建立 SSE 连接,服务器端需要实现 SSE 推送功能。SSE 通过一种特殊的 MIME 类型 text/event-stream 来传递推送数据。服务器端通过将数据封装为一段文本,按照一定的格式发送给客户端,客户端可以通过 onmessage 事件监听服务器端发送的数据。

SSE 技术不仅可以在 Web 应用中使用,还可以在移动应用中使用。例如,使用 SSE 技术可以实现推送消息、即时通讯、在线游戏等功能。

这个技术的主要操作由后端完成,前端无需进行额外配置,通知后端建立以及关闭连接,接收后端推送的消息即可,前端需要做的操作主要如下


// 页面加载时建立链接
onMounted(() => {
	createEventSource();
});
const createEventSource = () => {
	if (window.EventSource) {
		state.source = new EventSource(`需要替换:这里是建立连接的通知`);
		state.source.addEventListener(
			'open',
			function () {
				console.log('建立连接。。。');
			},
			false
		);
		state.source.addEventListener('message', function (e) {
			console.log('收到消息', e.data);
		});
		state.source.addEventListener(
			'error',
			function (e) {
				if (e.readyState === EventSource.CLOSED) {
					console.log('连接关闭');
				} else {
					console.log(e);
				}
			},
			false
		);
	} else {
		 console.log('你的浏览器不支持SSE');
	}
};

//离开页面关闭连接
onUnmounted(() => {
	if (state.source) {
		state.source.close();
		// 通知后端关闭连接
		// 这里写通知后端关闭的接口以及需要的参数
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3使用sse 的相关文章

随机推荐

  • Javascript基础知识整理—1

    1 JS数据类型 原始数据类型 xff1a boolean xff0c string xff0c null xff0c undefined xff0c symbol xff0c bigint xff0c number 引用类型 xff1a
  • React基础

    1 Context全局值 链接地址 链接地址 目的是为了避免一些外部的传参向下传递时需要通过一层层的组件 span class token comment defaultValue只有在找不到附近的Provider时才会起作用 span s
  • git基础知识

    1 对当前commit的内容进行修正 如果发现commit的内容有问题想要修改 xff0c 正常做法可以重新再commit一次 通过amend可以直接将commit和暂存区的内容进行合并 xff0c 就不需要再重新commit一次了 ame
  • Typescript基础

    1 Pick和Omit 源码地址 相似点 xff1a 都是对接口进行剪裁 keyof 操作符常和接口结构一起使用 xff0c 得到一组对象键值的字面量类型组成的联合类型 xff0c 如 a b c 我们也常用 keyof any 表示成员未
  • Javascript基础知识整理—2

    1 节流和防抖的实现 https blog csdn net weixin 45709829 article details 123910592 防抖 Debounce 在设定的n秒内只会执行最新的函数 防抖实现 立即执行和非立即执行 sp
  • node文件系统 常用文件处理方法

    打开文件 获取文件描述符 java件描述符 xff1a 被打开的文件分配的一个简单的数字作为标识符 span class token keyword const span fs span class token operator 61 sp
  • Electron基础

    安装 span class token comment 基于Vue span span class token number 1 span 全局安装Vue脚手架 npm install span class token operator s
  • node、npm 、package.json、Angular Cli、webpack之间的关系(Windows环境下)

    IDE xff1a webstorm xff0c 已安装angular插件 Angular Cli 依赖webpack xff0c 简化创建项目流程 xff1b npm属于node一部分 xff0c npm 从package json找对应
  • node文件系统—将目标文件夹中的所有文件复制到指定目录

    span class token keyword const span fs span class token operator 61 span span class token function require span span cla
  • Great Habits of Programmer(程序员的好习惯)

    原文出处 xff1a https github com benjycui benjycui github io issues 1 Most of you heard about Refactoring Improving the Desig
  • You -- Yes, You -- Can Speak at a Conference(你 -- 是的,你 -- 可以在会议上发言)

    原文出处 xff1a https engineering appfolio com appfolio engineering 2017 1 9 you yes you can speak at a conference I ve been
  • 自制前端项目脚手架

    准备工作 xff08 一些常用库 xff09 ora 可以用于表示当前模板的状态 span class token keyword const span oraIcon span class token operator 61 span s
  • 一些奇奇怪怪的问题收集

    1 parseInt string radix span class token keyword const span arr span class token operator 61 span span class token punct
  • 微前端—qiankun:主应用和子应用之间的传值问题

    主应用给子应用传值 主应用配置 span class token comment action js span span class token comment 主应用当中将默认值提出来 xff0c 方便其他功能也要修改 span span
  • Mysql的sql优化方法

    Mysql的sql优化方法 1 选择最合适的字段属性 Mysql是一种关系型数据库 xff0c 可以很好地支持大数据量的存储 xff0c 但是一般来说 xff0c 数据库中的表越小 xff0c 在它上面执行的查询也就越快 因此 xff0c
  • 在jupyter NoteBook使用Pytorch进行MNIST实现

    34 流程 34 1 加载必要的库 import torch nn as nn import torch nn functional as F import torch import torch optim as optim from to
  • IP地址

    CIDR采用各种长度的 34 网络前缀 34 来代替分类地址中的网络号和子网号 xff0c 其格式为 xff1a IP地址 61 lt 网络前缀 gt lt 主机号 gt 为了区分网络前缀 xff0c 通常采用 34 斜线记法 34 xff
  • Snipaste截图软件的下载和使用(日常常用的一些功能)

    文章目录 前言一 如何安装二 如何使用1 开始截图2 快速复制截图3 快速将截好的图缩小4 可同时进行多个截图放在一边5 获取截图中的rgb格式颜色或16进制HEX来表示颜色6 其他 总结 前言 强烈推荐这款截图工具Snipaste xff
  • 盘符没有显示,磁盘管理器提示磁盘没有初始化(已解决)

    一 问题 插入移动硬盘 xff0c 文件资源管理器未显示对应的磁盘 xff0c 拔出硬盘重新插入也没有用 打开磁盘管理 xff0c 提示磁盘没有初始化 xff1a 二 解决方法 右击window图标 xff0c 打开磁盘管理或者计算机管理
  • vue3使用sse

    以下是chatgpt4对于sse技术的阐述 SSE Server Sent Events 技术是一种基于 HTTP 的推送技术 xff0c 通过一个持久性的 HTTP 连接 xff0c 服务器可以将实时数据推送给客户端 xff0c 而客户端