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

并发数

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

参考文档

类型

  1. (option: Option) => Promise<SocketTask>

参数

Option

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

示例代码

示例 1

  1. Taro.connectSocket({
  2. url: 'wss://example.qq.com',
  3. header:{
  4. 'content-type': 'application/json'
  5. },
  6. protocols: ['protocol1']
  7. })

示例 2

  1. Taro.connectSocket({
  2. url: 'ws://echo.websocket.org/echo',
  3. success: function () {
  4. console.log('connect success')
  5. }
  6. }).then(task => {
  7. task.onOpen(function () {
  8. console.log('onOpen')
  9. task.send({ data: 'xxx' })
  10. })
  11. task.onMessage(function (msg) {
  12. console.log('onMessage: ', msg)
  13. task.close()
  14. })
  15. task.onError(function () {
  16. console.log('onError')
  17. })
  18. task.onClose(function (e) {
  19. console.log('onClose: ', e)
  20. })
  21. })

API 支持度

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