微信小程序数据拼接_微信小程序使用原生WebSokcet实现断线重连及数据拼接

以前做小程序为了应急找了个插件去链接WebSokcet,文章传送门。回过头在新项目中再次使用时出现了些许问题,不一一赘述。遂决定好好用一下原生的WebSokcet。一、说明1.小程序原生的WebSokcet没有断线重连机制,这个是他的不足之处。2.小程序新的版本库已经支持存在多个WebSokcet 连接。官方说明:基础库 1.7.0 之前,一个微信小程序同时只能有一个 WebSocket 连接,...
摘要由CSDN通过智能技术生成

以前做小程序为了应急找了个插件去链接WebSokcet,文章传送门。

回过头在新项目中再次使用时出现了些许问题,不一一赘述。遂决定好好用一下原生的WebSokcet。

一、说明

1.小程序原生的WebSokcet没有断线重连机制,这个是他的不足之处。

2.小程序新的版本库已经支持存在多个 WebSokcet 连接。

官方说明:基础库 1.7.0 之前,一个微信小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。基础库版本 1.7.0 及以后,支持存在多个 WebSokcet 连接,每次成功调用 wx.connectSocket 会返回一个新的 SocketTask。

二、实际例子:

首先你需要socket地址url: let url = 'wss://xxx.xxx.com/?xxx=xxx'

注意:1.小程序管理后台添加socket域名的时候不能出现端口;2.如果使用了appID,协议必须是 wss;3.socket服务端映射的端口仅支持 80 和 443,和公众号一个尿性。

接下来放例子:

1、socket.js

const app = getApp();

let url = 'wss://xxx.xxx.com/?xxx=xxx'

export const connect = function (cb) { // 定义一个方法

wx.connectSocket({ // 创建一个 WebSocket 连接

url: url,

fail (err) {

if (err) {

console.log('%cWebSocket连接失败', 'color:red', err)

app.globalData.socketConnectFail = true // 定义一个全局变量,当链接失败时改变变量的值

}

}

})

wx.onSocketOpen(function (res) { // 监听WebSocket连接打开事件。

console.log('WebSocket打开成功');

wx.sendSocketMessage({ // 通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。

data: Buffer2Base64(), // 用于订阅的参数,视具体情况而定

success (data) {

console.log('WebSocket发送消息:', data.errMsg)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值