本章节介绍 AOQ Client SDK 的连接状态机及其对应的 API 调用。
连接状态图
下图描述了 AOQ Client SDK 的连接状态迁移关系:
AOQ Client SDK 连接状态迁移图
状态说明
状态 | 枚举值 | 说明 |
|---|---|---|
链接中(Connecting) | 1 | 调用 |
已连接(Connected) | 2 | 连接建立成功,可正常收发音视频和数据消息 |
失败(Failed) | 3 | 连接异常(鉴权失败/超时/服务端拒绝等),SDK 内部会自动迁移到已断开 |
已断开(Disconnected) | 0 | 初始状态/主动断开/异常断开后的终态 |
状态迁移规则
- App 调用
connect→ 进入Connecting状态。 - 链接成功 → 从
Connecting迁移到Connected。 - 链接异常 → 从
Connecting迁移到Failed,随后 SDK 自动迁移到Disconnected。 - 链接异常 → 从
Connected迁移到Failed,随后 SDK 自动迁移到Disconnected。 - App 调用
disconnect→ 从Connected迁移到Disconnected。
说明:
Failed 是瞬态,SDK 触发 onConnectionStatusChange(Failed) 后会自动迁移到 Disconnected,业务层无需手动调用 disconnect。connect API
调用 connect 发起与 AI Service 的连接,传入由 AppServer allocate 接口返回的鉴权凭证。
方法签名
Android:
0 表示调用成功(异步建连);< 0 表示失败。
行为说明
- 调用后触发
onConnectionStatusChange(connecting)回调。 - 如果链接成功时触发
onConnectionStatusChange(connected)回调。 - 如果链接失败时触发
onConnectionStatusChange(failed)回调。
disconnect API
调用 disconnect 主动断开与 AI Service 的连接。
方法签名
Android:
0 表示成功;< 0 表示失败。
行为说明
- 调用后触发
onConnectionStatusChange(Disconnected)回调。 - 引擎不会自动释放,可重新调用
connect进行重连。 - 未连接状态下调用
disconnect是安全的,返回 0。