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

互联网 2021/10/13 11:44:23

1、最小化小程序,ws会断开。 解决方案:初始化ws连接写在App.js的onShow方法里,onHide里断开ws连接,并把socketTask初始化为空。 2、给socketTask赋值需要在ws onOpen里。 3、重复进入同一页面,onMessage会多次执行的问题。 // App.jssockTask: null, onShow() {this.…

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收到的消息了
}

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[微信小程序建立websocket连接踩坑记录]http://www.zyiz.net/tech/detail-240813.html

上一篇:小程序如何使用wx-f2

下一篇:文案+壁纸+头像+套图小程序源码,双版本,独立后台和无服务器版本支持流量主内附详细安装教程

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程