//与socket建立连接
connectStart() {
ws = wx.connectSocket({
url: 'ws://192.168.211.25:9300',
success: (res) => {
console.log(res)
},
fail: (err) => {
wx.showToast({
title: '网络异常!',
})
console.log(err)
},
})
// 连接成功
wx.onSocketOpen((res) => {
console.log('WebSocket 成功连接', res)
this.resMes()
})
//连接失败
wx.onSocketError((err) => {
console.log('websocket连接失败', err);
this.connectStart()
})
},
this.sendSocketMessage({
msg: JSON.stringify(joinData),
data: JSON.stringify(joinData),
success: (res) => {
//接收数据
wx.onSocketMessage((data) => {
let unit8Arr = new Uint8Array(data.data);
// 后端有要求只要中间部分
unit8Arr = unit8Arr.slice(12,unit8Arr.length-2);
let base64 = wx.arrayBufferToBase64(unit8Arr);
this.setData({
websocketImg: base64
})
})
},
fail: function (err) {
console.log('失败',err);
},
})
},
// 通过 WebSocket 连接发送数据
sendSocketMessage(options) {
if (socketOpen) {
wx.sendSocketMessage({
data: options.msg,
success: (res) => {
if (options) {
options.success && options.success(res);
}
},
fail: (res) => {
if (options) {
options.fail && options.fail(res);
}
}
})
} else {
socketMsgQueue.push(options.msg)
}
},
微信小程序后端websocket推流二进制文件转换成base64显示图片
最新推荐文章于 2023-05-15 15:04:43 发布