跳到主要内容
版本:4.x

Taro.connectSocket(option)

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

并发数

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

支持情况:

参考文档

类型

(option: Option) => Promise<SocketTask>

参数

参数类型
optionOption

Option

参数类型必填说明
urlstring开发者服务器 wss 接口地址
complete(res: TaroGeneral.CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: TaroGeneral.CallbackResult) => void接口调用失败的回调函数
headerTaroGeneral.IAnyObjectHTTP Header,Header 中不能设置 Referer
protocolsstring[]子协议数组
success(res: TaroGeneral.CallbackResult) => void接口调用成功的回调函数
tcpNoDelayboolean建立 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)
})
})