微信小程序websocket多頁面沖突解決辦法


1.在app.js中連接websockt

這樣可以始終保持只有一個websockt連接,不會提示錯誤

App({
  onLaunch: function () {
    wx.connectSocket({
      url: 'wss://wss.shanling.top'
    })
    wx.onSocketClose(function (res) {
      wx.connectSocket({
        url: 'wss://wss.shanling.top'
      })
    })
    
  }
})

2.在每個頁面的onShow中監聽wx.onSocketMessage(不要在onLoad中)

這樣可以保證當前頁面對websocket的控制權,解決使用wx.navigateTo打開子頁面時,父級頁面websocket失效的問題

onShow: function () {
    var that=this;
    wx.onSocketOpen(function (res) {
      that.onopen()
    })
 
    wx.onSocketMessage(function (res) {
      that.onmessage()
    })
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM