小程序创建一个 WebSocket 连接wx.connectSocket
SocketTask wx.connectSocket(Object object)
以 Promise 风格 调用:不支持
创建一个 WebSocket 连接。使用前请注意阅读相关说明。推荐使用 SocketTask 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控。同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。
参数
Object object
属性 类型 默认值 必填 说明 最低版本
url string 是 开发者服务器 wss 接口地址
header Object 否 HTTP Header,Header 中不能设置 Referer
protocols Array.<string> 否 子协议数组 1.4.0
tcpNoDelay boolean false 否 建立 TCP 连接的时候的 TCP_NODELAY 设置 2.4.0
perMessageDeflate boolean false 否 是否开启压缩扩展 2.8.0
timeout number 否 超时时间,单位为毫秒 2.10.0
success function 否 接口调用成功的回调函数
fail function 否 接口调用失败的回调函数
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)
返回值
SocketTask
基础库 1.7.0 开始支持,低版本需做兼容处理。
WebSocket 任务
并发数
1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。
1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。
示例代码
wx.connectSocket({
url: 'wss://example.qq.com',
header:{
'content-type': 'application/json'
},
protocols: ['protocol1']
})