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
类型,而具体发送的数据必须在object
的data
字段。 - Tip:WebSocket 服务器接口地址必须是
wss
协议,且域名必须是后台配置的合法域名。 - Tip:在创建
WebSocket
时,如果参数中protocols
是非空,请确保 WebSocket 服务器能解析并且返回相应的 protocol,否则会创建WebSocket
失败。
点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助