微信公众号开发

微信小程序建立websocket连接踩坑记录

本文主要是介绍微信小程序建立websocket连接踩坑记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、最小化小程序,ws会断开。

解决方案:初始化ws连接写在App.js的onShow方法里,onHide里断开ws连接,并把socketTask初始化为空。

2、给socketTask赋值需要在ws onOpen里。

3、重复进入同一页面,onMessage会多次执行的问题。

// App.js


sockTask: null,
onShow() {
    this.initWs()
},
onHide() {
    this.sockTask && this.sockTask.close()
    this.sockTask = null
},
initWs() {
    let that = this
    let ws = wx.connectSocket({url: '这里是ws地址'})
    ws.onOpen(() => {
        // 给socketTask赋值需要在ws onOpen里
        that.sockTask = ws
        that.onMessage(e => {
            // 解决重复进入同一页面,onMessage会多次执行的问题
            let pages = getCurrentPages()
            let currentPage = pages[pages.length - 1] // 当前页面
            if (currentPage.onMessage) currentPage.onMessage(e) 
        })
    })
}
// page.js

onMessage(e) {
    // 这里就能拿到ws收到的消息了
}

这篇关于微信小程序建立websocket连接踩坑记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!