抖音开放平台Logo
开发者文档
控制台
  • API 概览
  • C# API
  • 开放接口
  • 转发
  • 群聊
  • 关注
  • 数据分析
  • 基础
  • 渲染
  • 设备
  • 文件
  • 位置
  • 媒体
  • 网络
  • 发起请求
  • 下载
  • 上传
  • Websocket
  • SocketTask
  • tt.connectSocket
  • 转发
  • 数据缓存
  • 广告
  • 界面
  • 支付
  • Worker
  • tt.connectSocket
    收藏
    我的收藏

    基础库 1.0.0 开始支持本方法,这是一个异步方法。

    创建一个 WebSocket 连接实例,并通过返回的SocketTask操作该连接。

    前提条件

    网络相关的 API 在使用前需要配置域名白名单,请前往开发者平台「开发 - 开发设置」,添加 socket 合法域名

    业务背景
    使用限制
    注意事项
    • header 不支持设置 referer 字段。
    • 在当前小程序页面已经有一个WebSocket 连接的情况下,如果再创建一个WebSocket 连接,会重新创建一个 WebSocket 连接,但是之前创建的WebSocket 连接并不会自动关闭。
    • 在使用 send 方法时,参数必须是 object 类型,而具体发送的数据必须在 objectdata 字段。
    • WebSocket 服务器接口地址必须是 wss 协议,且域名必须是后台配置的合法域名。
    • 在创建 WebSocket 时,如果参数中 protocols 是非空,请确保 WebSocket 服务器能解析并且返回相应的 protocol,否则会创建 WebSocket 失败。
    相关教程

    语法

    tt.connectSocket(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    urlstring

    Socket 连接地址

    1.0.0
    headerobject

    HTTP Header

    1.0.0
    protocolsArray<string>

    子协议数组

    1.0.0
    successfunction
    接口调用成功的回调函数
    1.0.0
    failfunction
    接口调用失败的回调函数
    1.0.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    1.0.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring

    回调信息

    1.0.0
    socketTaskIdnumber

    当前创建的 socketTask 序号

    1.0.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring

    错误信息

    1.0.0

    返回值

    类型说明最低支持版本
    string

    SocketTask(Socket 任务对象)

    1.0.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    let socketTask = tt.connectSocket({ url: "wss://somepath", protocols: ["p1"], }); socketTask.onOpen(() => { console.log("WebSocket 已连接"); }); socketTask.onClose(() => { console.log("WebSocket 已断开"); }); socketTask.onError((error) => { console.error("WebSocket 发生错误:", error); }); socketTask.onMessage((message) => { console.log("socket message:", message); let data = message.data; if (Object.prototype.toString.call(data) === "[object ArrayBuffer]") { data = Codec.read(data); } });