# SocketTask wx.connectSocket(Object object)

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

Promise 风格 调用:不支持

小程序插件:支持,需要小程序基础库版本不低于 1.9.6

微信 Windows 版:支持

微信 Mac 版:支持

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

# 功能描述

创建一个 WebSocket 连接。使用前请注意阅读相关说明

# 参数

# 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
forceCellularNetwork boolean false 强制使用蜂窝网络发送请求 2.29.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'
  }
})