Version: 2.2.1

Taro.connectSocket(option)

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

并发数

  • 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。
  • 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。

参考文档

类型

(option: Option) => Promise<SocketTask>

参数

Option

参数类型必填说明
url
string
开发者服务器 wss 接口地址
complete
(res: CallbackResult) => void
接口调用结束的回调函数(调用成功、失败都会执行)
fail
(res: CallbackResult) => void
接口调用失败的回调函数
header
Record<string, any>
HTTP Header,Header 中不能设置 Referer
protocols
string[]
子协议数组
success
(res: CallbackResult) => void
接口调用成功的回调函数
tcpNoDelay
boolean
建立 TCP 连接的时候的 TCP_NODELAY 设置

示例代码

示例 1

Taro.connectSocket({
url: 'wss://example.qq.com',
header:{
'content-type': 'application/json'
},
protocols: ['protocol1']
})

示例 2

Taro.connectSocket({
url: 'ws://echo.websocket.org/echo',
success: function () {
console.log('connect success')
}
}).then(task => {
task.onOpen(function () {
console.log('onOpen')
task.send({ data: 'xxx' })
})
task.onMessage(function (msg) {
console.log('onMessage: ', msg)
task.close()
})
task.onError(function () {
console.log('onError')
})
task.onClose(function (e) {
console.log('onClose: ', e)
})
})

API 支持度

API微信小程序百度小程序支付宝小程序H5React Native
Taro.connectSocket✔️✔️✔️✔️✔️