想請(qǐng)教一個(gè)斷線重連的問題
//項(xiàng)目模擬代碼
ws = new WebSocket('ws://127.0.0.1:8282');
ws.onmessage = function(e){
....
}
//心跳
function ping(ws) {
time = 3000;
setInterval(function () {
ws.send('{"type":"ping"}');
},time)
}
//如果斷線自動(dòng)重連
ws.onclose = function(){
ws = new WebSocket('ws://127.0.0.1:8282'); //重連
}
問題就是在onclose里重新定義了ws 那么項(xiàng)目之前的ws都用不了哦!比如之前的ws.onmessage 比如心跳操作的ws 這個(gè)怎么破啊..
代碼一般都是自上而下的執(zhí)行,所以應(yīng)該把websocket封裝成一個(gè)函數(shù),在close里調(diào)用