抖音开放平台Logo
控制台

tt.connectSocket
收藏
我的收藏

基础库版本 1.0.0 开始支持

创建一个 WebSocket 连接实例,并通过返回的SocketTask操作该连接。网络相关的 API 在使用前需要配置域名白名单。

语法

tt.connectSocket(options)

参数说明

options 为 Object 类型,属性如下:

属性名

类型

默认值

必填

说明

最低支持版本

url

string

--

Socket 连接地址

1.0.0

header

object

--

HTTP Header

1.0.0

protocols

Array

null

子协议数组

1.0.0

success

function

--

接口调用成功的回调函数

1.0.0

fail

function

--

接口调用失败的回调函数

1.0.0

complete

function

--

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

1.0.0

回调成功

Object 类型,属性如下:

参数

参数类型

说明

最低支持版本

errMsg

string

回调信息

1.0.0

socketTaskId

number

当前创建的 sockTask 的序号

1.0.0

回调失败

Object 类型,属性如下:

参数

参数类型

说明

最低支持版本

errMsg

string

错误信息

1.0.0

返回值

SocketTask(Socket 任务对象),调用 tt.connectSocket 后返回的请求对象。

代码示例

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);
  }
});

Bug & Tip

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

文档评论

登录后可参与评论