该 API 使用方法为 wx.sendSocketMessage(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
data | string/ArrayBuffer | - | 是 | 需要发送的内容 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
let socketOpen = falselet socketMsgQueue = []wx.connectSocket({url: 'test.php'})wx.onSocketOpen(function(res) {socketOpen = truefor (let i = 0; i < socketMsgQueue.length; i++){sendSocketMessage(socketMsgQueue[i])}socketMsgQueue = []})function sendSocketMessage(msg) {if (socketOpen) {wx.sendSocketMessage({data:msg})} else {socketMsgQueue.push(msg)}}
该 API 使用方法为 wx.onSocketOpen(function listener)
属性 | 类型 | 说明 |
header | object | 连接成功的 HTTP 响应 Header |
该 API 使用方法为 wx.onSocketMessage(function listener)
属性 | 类型 | 说明 |
data | string/ArrayBuffer | 服务器返回的消息 |
该 API 使用方法为 wx.onSocketError(function listener)
属性 | 类型 | 说明 |
errMsg | string | 错误信息 |
该 API 使用方法为 wx.onSocketClose(function listener)
属性 | 类型 | 说明 |
code | number | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因 |
reason | string | 一个可读的字符串,表示连接被关闭的原因 |
该 API 使用方法为 SocketTask wx.connectSocket(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
url | string | - | 是 | 开发者服务器 wss 接口地址 |
header | Object | - | 否 | HTTP Header,Header 中不能设置 Referer |
protocols | Array.<string> | - | 否 | 子协议数组 |
tcpNoDelay | boolean | false | 否 | 建立 TCP 连接的时候的 TCP_NODELAY 设置 |
timeout | number | - | 否 | 超时时间,单位为毫秒 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.connectSocket({url: 'wss://example.qq.com',header:{'content-type': 'application/json'},protocols: ['protocol1']})
该 API 使用方法为 wx.closeSocket(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
code | number | 1000(表示正常关闭连接) | 否 | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因 |
reason | string | - | 否 | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符) |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
wx.connectSocket({url: 'test.php'})//注意这里有时序问题,//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。wx.onSocketOpen(function() {wx.closeSocket()})wx.onSocketClose(function(res) {console.log('WebSocket 已关闭!')})
该 方法 使用方式为 SocketTask.close(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
code | number | 1000(表示正常关闭连接) | 否 | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因 |
reason | string | - | 否 | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符) |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
该 方法 使用方式为 SocketTask.onClose(function listener)
属性 | 类型 | 说明 |
code | number | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因 |
reason | string | 一个可读的字符串,表示连接被关闭的原因 |
该 方法 使用方式为 SocketTask.onError(function listener)
属性 | 类型 | 说明 |
errMsg | string | 错误信息 |
该 方法 使用方式为 SocketTask.onMessage(function listener)
属性 | 类型 | 说明 |
data | string/ArrayBuffer | 服务器返回的消息 |
该 方法 使用方式为 SocketTask.onOpen(function listener)
属性 | 类型 | 说明 |
header | Object | 连接成功的 HTTP 响应 Header |
该 方法 使用方式为 SocketTask.send(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
data | string/ArrayBuffer | - | 是 | 需要发送的内容 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
本页内容是否解决了您的问题?