wx.onSocketError(function listener)

推荐使用 SocketTask 的方式来管理 WebSocket 链接,这样每一条链路的生命周期都更加可控。如果同时存在多个 WebSocket 链接,使用 wx 前缀的方法可能会带来一些和预期不一致的情况。

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

相关文档: 网络使用说明、局域网通信

功能描述

监听 WebSocket 错误事件。

参数

function listener

WebSocket 错误事件的监听函数

参数

Object res
属性 类型 说明
errMsg string 错误信息

wx.onSocketMessage(function listener)

推荐使用 SocketTask 的方式来管理 WebSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 WebSocket 链接的情况下,使用 wx 前缀的方法可能会带来一些和预期不一致的情况。

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

相关文档: 网络使用说明、局域网通信

功能描述

监听 WebSocket 接收到服务器的消息事件。

参数

function listener

WebSocket 接收到服务器的消息事件的监听函数

参数

Object res
属性 类型 说明
data string/ArrayBuffer 服务器返回的消息

wx.onSocketOpen(function listener)

推荐使用 SocketTask 的方式来管理 WebSocket 链接,每一条链路的生命周期都更加可控。同时存在多个 WebSocket 链接的情况下,使用 wx 前缀的方法可能会带来一些和预期不一致的情况。

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

相关文档:网络使用说明、局域网通信

功能描述

监听 WebSocket 连接打开事件。

参数

function listener

WebSocket 连接打开事件的监听函数

参数

Object res
属性 类型 说明 最低版本
header object 连接成功的 HTTP 响应 Header 2.0.0

wx.sendSocketMessage(Object object)

推荐使用 SocketTask 的方式来管理 WebSocket 连接,这样每条链路的生命周期都更加可控。如果同时存在多个 WebSocket 连接,使用 wx 前缀的方法可能会遇到一些和预期不一致的情况。

以 Promise 风格 调用:支持

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

相关文档: 网络使用说明、局域网通信

功能描述

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

参数

Object object

属性 类型 默认值 必填 说明
data string/ArrayBuffer 需要发送的内容
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

let socketOpen = false
let socketMsgQueue = []
wx.connectSocket({
  url: 'test.php'
})

wx.onSocketOpen(function(res) {
  socketOpen = true
  for (let i = 0; i < socketMsgQueue.length; i++){
    sendSocketMessage(socketMsgQueue[i])
  }
  socketMsgQueue = []
})

function sendSocketMessage(msg) {
  if (socketOpen) {
    wx.sendSocketMessage({
      data:msg
    })
  } else {
    socketMsgQueue.push(msg)
  }
}