# Function: connect
▸ connect(initData
: ConnectParams): Promise‹boolean›
连接帧同步服务
description
若连接成功,会返回true。若长时间未返回结果,可使用disconnect取消连接。 建议配合onError使用,监听到特定类型的错误
example
// 需要先通过匹配系统完成匹配,获取连接需要的token
import { matchSystem, frameSyncSystem } from "@timi/mogs-sdk";
let lockStepTokenInfo
// 先使用匹配系统进行匹配(略)
// 收到匹配确认的事件后
matchSystem.onMatchConfirmed(async (res) => {
if(!res.confirmPlayer && !res.isOvertime && res.lockStepTokenInfo) {
// res.lockStepTokenInfo即包含了连接帧同步需要的信息
lockStepTokenInfo = res.lockStepTokenInfo
}
// 错误监听
frameSyncSystem.onError((e) => {
if (e.errorCode === frameSyncSystem.ErrorCode.cannotReconnect) {
console.log("报错,无法连接,放弃连接-------");
frameSyncSystem.disconnect()
// 尝试下一个房间的匹配
}
if (e.errorCode === frameSyncSystem.ErrorCode.invalidRoomState) {
console.log("房间状态已结束---------放弃连接");
frameSyncSystem.disconnect()
// 尝试下一个房间的匹配
}
})
// 连接帧同步
const res = await frameSyncSystem.connect({
token: lockStepTokenInfo.token,
userId: lockStepTokenInfo.userId,
isReconnect: false,// 是否重连(非销毁,该选项仅适用于本次代码运行期间的重连本局的游戏,若关掉小程序后让帧同步系统重新运行,再次调用connect进入上一局游戏,该选项为false)
isJoinLastRoom: false, // 默认为false,若杀掉小程序后,重新进入上一次游玩的游戏,该选项为true,
});
if (res) {
// 连接帧同步服务成功
} else {
// 连接帧同步服务失败
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 参数:
属性 | 类型 | 描述 |
---|---|---|
initData | ConnectParams | 帧同步参数和回调函数 |
ConnectParams
属性 | 类型 | 描述 |
---|---|---|
config? | Config | - |
isJoinLastRoom? | boolean | - |
isReconnect? | boolean | - |
logConfig? | object | - |
token | string | - |
userId? | number | string | - |
# 返回值:
Promise‹boolean›
是否成功
← broadcast disconnect →