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>
相关推荐
PT_silver2 天前
tryhackme——Abusing Windows Internals(进程注入)
windows·microsoft
Leinwin2 天前
微软推出SQL Server 2025技术预览版,深化人工智能应用集成
人工智能·microsoft
CoderJia程序员甲2 天前
MCP 技术完全指南:微软开源项目助力 AI 开发标准化学习
microsoft·ai·开源·ai教程·mcp
宝桥南山2 天前
Microsoft Copilot Studio - 尝试一下Agent
microsoft·ai·微软·copilot·rpa·low-code
集成显卡2 天前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
Leinwin3 天前
行业案例 | ASOS 借助 Azure AI Foundry(国际版)为年轻时尚爱好者打造惊喜体验
人工智能·microsoft·azure
面朝大海,春不暖,花不开3 天前
Python 文件操作与输入输出:从基础到高级应用
windows·python·microsoft
步、步、为营3 天前
.net ORM框架dapper批量插入
microsoft·.net
扫地的小何尚3 天前
NVIDIA Dynamo:数据中心规模的分布式推理服务框架深度解析
人工智能·分布式·microsoft·链表·语言模型·gpu
Abigail_chow3 天前
EXCEL如何快速批量给两字姓名中间加空格
windows·microsoft·excel·学习方法·政务