原生websocket实现断线重连
1、原生websocket实现断线重连
export default { name: "sideBar", components: { // viewImage, svgIcon, }, props: {}, data() { return { sock: null, url: "wss://xxx.com/t-go-wss/ws", }; }, mounted() {this.createWebSocket(this.url); }, beforeUnmount() { this.sock.close(); }, methods: { reconnect() { let _this = this; setTimeout(function () { _this.createWebSocket(this.url); }, 500); }, initWebSocket() { let _this = this; this.sock.onopen = function () { console.log("open"); _this.sock.send( JSON.stringify({ topicType: "orderSuc", dataType: "orderPrint", firmCode: "gojingping", }) ); }; this.sock.onmessage = function (e) { console.log("message", e.data); if (e.data) { _this.$refs.audio.load(); _this.$refs.audio.play(); } }; this.sock.onclose = function () { console.log("close"); _this.reconnect(); }; this.sock.onerror = function () { console.log("onerror"); _this.reconnect(); }; }, createWebSocket(url) { try { if ("WebSocket" in window) { this.sock = new WebSocket(url); } else { alert("当前浏览器不支持websocket协议,建议使用现代浏览器"); return; } this.initWebSocket(); } catch (e) { this.reconnect(); } }, }, };
分类:
websocket
, javaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」