vue3使用@microsoft/signalr通讯-基础自写

  • 需求:使用@microsoft/signalr进行前后端数据实时通讯(每秒)

  • 环境:vue3 typescript @microsoft/signalr

  • 安装:npm install @microsoft/signalr

  • 代码

    js 复制代码
    <script lang="ts" setup>
    import {ref, reactive, computed,onMounted,watch , onUnmounted } from 'vue'
    import { HubConnectionBuilder } from '@microsoft/signalr';
    import {Local, Session} from '/@/utils/storage'; // 缓存方法
    
    
    const message = ref(''); // 用于显示从服务器接收的消息
    const token = Session.get('token')
    const connection = new HubConnectionBuilder().withUrl("你的后端地址", {
    		withCredentials: false,//不发送cookie
    		accessTokenFactory: () => token // 登录token,用于辨别用户是谁
    		}).build();
    
    const startConnection = () =>{ // 定义一个实例
    		connection.start().then(function () {// 开始连接
    			console.log('1 连接成功',connection)
    			// 客户端与服务端进行沟通(客户端-->服务端),客户端调取后端的方法进行通讯,后端返回信息
    			connection.invoke("后端命名的方法A", "一些后端需要的变量根据自己需求填写").catch(function (err) {
    				return console.log(err,'获取服务器方法失败');
    			});
    
    		}).catch(function (err) {
    			return console.log('连接失败!!!',err);
    		});
    
    		// 实时接收服务端信息(服务端-->客户端)
    		connection.on('监听后端命名的方法A返回的数据:名称一般和上面invoke配套', (message) => {
    				console.log('接受的信息Info message:', message);
    				// 做一些赋值操作,把后端传来的数据渲染到页面
    			});
        }
    
    // 在组件挂载时连接到 SignalR 服务器
    onMounted(() => {
    	startConnection()
    })
    // 在组件卸载时断开连接
    onUnmounted(() => {
      console.log('停止!!!!')
      connection.stop().catch((e) => console.error('停止失败-Failed to disconnect:', e));
    
    });
    
    </script>
相关推荐
weixin_307779132 小时前
Azure Synapse Dedicated SQL pool里大型表对大型表分批合并数据的策略
数据仓库·sql·microsoft·azure
云草桑4 小时前
基于.NET后端实现图片搜索图片库 核心是计算上传图片与库中图片的特征向量相似度并排序展示结果
图像处理·microsoft·c#·.net
电手7 小时前
微软承认Win11出现极端错误,只能强制关机或重装系统
windows·microsoft·电脑
云草桑12 小时前
Microsoft Azure 基础知识简介
microsoft·net·microsoft azure
superior tigre13 小时前
C++学习:六个月从基础到就业——面向对象编程:封装、继承与多态
c++·学习·microsoft
谢道韫66615 小时前
探索鸿蒙沉浸式:打造无界交互体验
microsoft·交互·harmonyos
诸葛亮的芭蕉扇1 天前
D3路网图技术文档
前端·javascript·vue.js·microsoft
余辉zmh1 天前
【Linux系统篇】:从匿名管道到命名管道--如何理解进程通信中的管道?
linux·运维·microsoft
yyywxk2 天前
Trae 下安装 Pylance 插件(仅作为实验,版权由微软所有)
microsoft·trae
隔壁小查2 天前
【后端开发】Spring配置文件
java·spring·microsoft