webscoket断线重连
生活随笔
收集整理的這篇文章主要介紹了
webscoket断线重连
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
export default {name: 'WEB',data () {return {connected: false, //連接狀態reConnectCount: 0 //重新連接次數}},methods:{//重新連接scoketreconnect () {let delay = Math.random() * 10000;let self = this;setTimeout(function () { //設置一個隨機10秒內時間,減輕服務器壓力self.startReconnectLoop();}, delay);},startReconnectLoop () {let self = this;let conn = setInterval(function () { //沒連接上會一直重連,設置延遲避免請求過多if (self.reConnectCount < 12 && self.connected === false) { //給用戶12次重新連接的機會self.initWebSocket();} else {clearInterval(conn);return;}}, 5000);},//scoket 通訊initWebSocket () {if (this.connected) return;this.reConnectCount++;const wsuri = "ws://XXXXXXXXXXX"; //測試地址this.websocket = new WebSocket(wsuri);this.websocket.onopen = this.setOnopenMessage;this.websocket.onmessage = this.setOnmessageMessage;this.websocket.onclose = this.setOncloseMessage;},//連接關閉的回調setOncloseMessage () {// this.websocket.close() 直接關閉this.connected = false;this.reconnect();},}
}
總結
以上是生活随笔為你收集整理的webscoket断线重连的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 掌上英雄联盟手游app(英雄联盟官方网站
- 下一篇: Generator简单了解