最近遇到的專案不少都要使用websocket,這兒我把它封裝起來,使用起來非常簡單。
1.首先在專案裡面建立乙個websocketutils.js的檔案
let farmwebsocket = function () ;
this.ws = null; //websocket例項
this.repeat = 0;
this.onclose = () => {};
this.onerror = () => {};
this.onopen = () => ;
this.onmessage = (event) =>
};this.onreconnect = () => {};
this.createwebsocket();
}farmwebsocket.prototype.createwebsocket = function () catch (e)
};farmwebsocket.prototype.initeventhandle = function () ;
this.ws.onerror = () => ;
this.ws.onopen = () => ;
this.ws.onmessage = (event) => ;
};farmwebsocket.prototype.reconnect = function () , this.opts.reconnecttimeout);
};farmwebsocket.prototype.send = function (msg) ;
//心跳檢測
farmwebsocket.prototype.heartcheck = function () ;
farmwebsocket.prototype.heartstart = function () , this.opts.pongtimeout);
}, this.opts.pingtimeout);
};farmwebsocket.prototype.heartreset = function () ;
farmwebsocket.prototype.close = function () ;
export default farmwebsocket
2.使用
使用之前先引入
import farmwebsocket from '../../src/api/websocketutils';
初始化
initsocket());
},messageback(data)
暫且還沒發現這樣封裝有啥bug,各人感覺還是很好用的。 websocket前端頁面
charset utf 8 websocket通訊title 開啟事件 socket.onopen function 獲得訊息事件 socket.onmessage function event else else content.scrollheight 發現訊息進入 開始處理前端觸發邏輯 關閉事...
websocket 重連封裝
websocket 類 方法和原生websocket保持一致 param url 連線位址 param isreconnect 是否包含重連機制 param options 配置引數 class ws this.opt this.lockreconnect false 重連鎖,避免頻繁重連 this...
WebIM技術 編寫前端WebSocket元件
過去我們想要實現乙個實時web應用通常會考慮採用ajax輪循或者是long polling技術,但是因為頻繁的建立http連線會帶來多餘的請求以及訊息精準性的問題,讓我們在實現實時web應用時頭疼不已。現在,html5提出了websocket協議來規範解決了這個問題。ajax輪詢 ajax輪詢非常簡...