国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

前端檢測(cè)斷掉后重連socket服務(wù)器,多次重連后服務(wù)端推送過(guò)來(lái)的消息是多條,感覺(jué)之前的client_id依然是生效的

ces0135

在這里做了重連判斷,重連后感覺(jué)之前client_id還依然有效,同一個(gè)客戶端會(huì)受到服務(wù)端重復(fù)推送來(lái)的消息

websocketonerror() {
      this.initWebSocket();
    }
websocketclose(e){
       this.initWebSocket();
    }

    initWebSocket() {
      const wsuri = "ws://XX.XX.XX.XX";
      this.websock = new WebSocket(wsuri);
      this.websock.onopen = this.websocketonopen;
      this.websock.onerror = this.websocketonerror;
      this.websock.onmessage = this.websocketonmessage;
      this.websock.onclose = this.websocketclose;
    }
4129 2 0
2個(gè)回答

q13113671764

做擠掉線,重連后把client_id = 當(dāng)前連接id的給close()掉;

  • 暫無(wú)評(píng)論
智佳思遠(yuǎn)

前端js業(yè)務(wù)邏輯有問(wèn)題。
連接斷開時(shí)websocketonerror 和 websocketclose 可能都會(huì)觸發(fā),然后你這2個(gè)事件都執(zhí)行了建立新的連接,原本想建立1個(gè)連接,實(shí)際上建立了2個(gè)。然后不斷的裂變1變2,2變4,4變8,建立了N多個(gè)連接,收到重復(fù)的信息。

我覺(jué)得只在websocketclose里建立新連接就夠了。

  • ces0135 2020-01-16

    兄弟是你說(shuō)的這回事,我誤解的以為一個(gè)瀏覽器開著就是一個(gè)client_id,疏忽大意了

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??