vue2封裝webSocket的實(shí)現(xiàn)(開箱即用)
第一步:
下載 webSocket
npm install vue-native-websocket --save
第二步:
需要在 main.js 中 引入
import websocket from 'vue-native-websocket'; Vue.use(websocket, '', { connectManually: true, // 手動連接 format: 'json', // json格式 reconnection: true, // 是否自動重連 reconnectionAttempts: 5, // 自動重連次數(shù) reconnectionDelay: 2000, // 重連間隔時(shí)間 });
第三步:
封裝相關(guān)的連接和斷開
相關(guān)代碼!?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。?!
const socketService = { socket: null, init(username) { if (typeof WebSocket === "undefined") { alert("您的瀏覽器不支持socket"); } else { // ws://10.244.11.117:8089/dashboard/websocket/ let path = "你的ws WebSocket 地址" + username; // 請求路徑 this.socket = new WebSocket(path); this.socket.onopen = this.open.bind(this); this.socket.onerror = this.error.bind(this); this.socket.onmessage = this.getMessage.bind(this); } }, open() { console.log("socket連接成功"); }, error() { console.log("連接錯(cuò)誤"); }, getMessage(msg) { return new Promise((resolve, reject) => { this.socket.onmessage = (msg) => { console.log(msg.data); // 利用promise 返回出去結(jié)果 if (msg.data != '連接成功' && JSON.parse(msg.data)) { const data = JSON.parse(msg.data); resolve(data); // 將數(shù)據(jù)傳遞給調(diào)用者 } // this.scrollInstance.refresh(); // 手動刷新滾動效果 }; }); // this.scrollInstance.refresh(); // 手動刷新滾動效果 }, send(params) { if (this.socket) { this.socket.send(params); } }, close() { console.log("socket已經(jīng)關(guān)閉"); } }; //最后導(dǎo)出 export default socketService;
第四步:
引入使用
//路徑是自己的啊 import socketService from "../sokect/index";
mounted() { // 調(diào)用 this.startSocket(); }, methods: { async startSocket() { // 這里是 username socketService.init("warning-all"); try { const msg = await socketService.getMessage(); //打印出來 服務(wù)器給我的信息 console.error(JSON.parse(msg.data) ); } catch (error) { console.error("Error receiving message:", error); } }, }
到這步接收信息已經(jīng)OK了(記得和后端配合)
后續(xù)還有 給服務(wù)器發(fā)送信息 等.......正在開發(fā)中....... 謝謝
到此這篇關(guān)于vue2封裝webSocket的實(shí)現(xiàn)(開箱即用)的文章就介紹到這了,更多相關(guān)vue封裝webSocket內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue cli實(shí)現(xiàn)項(xiàng)目登陸頁面流程詳解
CLI是一個(gè)全局安裝的npm包,提供了終端里的vue命令。它可以通過vue create快速搭建一個(gè)新項(xiàng)目,或者直接通過vue serve構(gòu)建新想法的原型。你也可以通過vue ui通過一套圖形化界面管理你的所有項(xiàng)目2022-10-10Vue 實(shí)現(xiàn)監(jiān)聽窗口關(guān)閉事件,并在窗口關(guān)閉前發(fā)送請求
這篇文章主要介紹了Vue 實(shí)現(xiàn)監(jiān)聽窗口關(guān)閉事件,并在窗口關(guān)閉前發(fā)送請求,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09