重连应用

最近更新时间:2024-05-31 16:29:31

我的收藏
本节主要介绍如何重连应用。当用户网络断连或者直接关闭客户端而未主动调用关闭应用功能时,业务可以通过 SDK 自动重连或者重新创建会话来实现重连应用功能。

时序图



步骤说明

1. 业务客户端调用 TCGSDK.init() 接口完成初始化构建,其中 reconnect 参数默认为 true,启用自动重连。
2. 业务客户端在弱网导致断连时,若非主动调用接口 DestroySession() 销毁云渲染实例,则云渲染实例会默认保持120秒(可配置)的重连时间等待重连。
3. 应用云渲染 SDK 主动发起重连,每6秒尝试一次,最多重连10次,根据连接回调可进行如下处理:
重连成功触发回调 onConnectSuccess(),完成重连应用操作。
重连失败触发回调 onConnectFail(),当返回 code 大于 0 或者等于 -3 时,需要重新发起启动应用操作,进入 步骤4
4. 
务客户端重新调用 TCGSDK.init() 接口完成初始化构建,通过传入相同的 UserId 向业务后台请求启动应用,若 UserId 不同则不能实现重连功能。
5. 业务后台通过云渲染 API 调用 CreateSession() 重新创建会话,根据会话返回状态进行如下处理:
用户连接的并发超过等待时间,并发已回收,则需要重新 启动应用
用户连接的并发还未回收,返回上一次连接的并发资源,并将返回的服务端 ServerSession 回传给业务客户端,完成重连应用操作。
说明:
当用户网络不稳定导致断连或者关闭客户端时,云渲染实例以及云端直播转推(如有)会保持一段时间,保证用户可以重连应用。业务可以根据用户连接场景需求,对重连时长进行配置40秒 - 1小时(详细配置说明参见 项目高级配置),业务也可以自行控制销毁时间,在重连时间内主动调用接口 DestroySession() 销毁云渲染实例。