swan.connectSocket

请参考使用注意事项进行开发。

解释:创建一个 WebSocket 连接。

# 方法参数

Object object

# object参数说明

属性名 类型 必填 默认值 说明 Web 态说明
url String 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名。
header Object HTTP Header,Header 中不能设置 Referer。 由于 W3C 规范限制, Web 态下传入的 header 配置不生效
protocols StringArray 子协议数组
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

# 示例

在开发者工具中预览效果

# 扫码体验

请使用百度APP扫码

# 图片示例

# 代码示例

  • 在 js 文件中
Page({
    connectSocket() {
        swan.connectSocket({
            url: 'wss://echo.websocket.org',
            success: res => {
                swan.showToast({
                    title: 'websocket 连接成功',
                    icon: 'none'
                });
                console.log('connectSocket success', res);
            },
            fail: err => {
                swan.showModal({
                    title: 'websocket 连接失败',
                    content: JSON.stringify(err)
                });
                console.log('connectSocket fail', err);
            }
        })
    } 
});

# 错误码

# Android

错误码 说明
302 找不到调起协议对应端能力方法
202 解析失败,请检查参数是否正确
1001 执行失败

# iOS

错误码 说明errMsg
4 参数有误
7 安全校验失败
errorCode为1 超过设置的最大task数量
errorCode为2 url/subProtocals错误
errorCode为3 创建task实例失败

# Bug & Tip

  • 基础库 1.9.4 之前,一个智能小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。
  • 基础库版本 1.9.4 及以后,支持存在多个 WebSokcet 连接,每次成功调用 swan.connectSocket 会返回一个新的 SocketTask