AgoraConnectionState
AgoraConnectionState
连接状态。
枚举值
- AgoraConnectionStateDisconnected
- (1):SDK 与声网边缘服务器断开连接。该状态表示 SDK 处于以下阶段之一:调用 joinChannelByToken:channelId:uid:mediaOptions:joinSuccess: 方法前的初始状态,或调用 leaveChannel: 方法后。
- AgoraConnectionStateConnecting
- (2):SDK 正在连接声网边缘服务器。该状态表示调用 joinChannelByToken:channelId:uid:mediaOptions:joinSuccess: 方法后,SDK 正在与指定频道建立连接。连接成功后,SDK 会触发
connectionChangedToState:reason:回调,并将状态切换为AgoraConnectionStateConnected。连接建立后,SDK 会初始化媒体,并在准备就绪时触发didJoinChannel:withUid:elapsed:回调。 - AgoraConnectionStateConnected
- (3):SDK 已连接到声网边缘服务器。该状态还表示用户已加入频道,并可在频道中发布或订阅媒体流。如果因网络中断或切换导致连接丢失,SDK 会自动尝试重连,并触发
connectionChangedToState:reason:回调,通知当前状态变为AgoraConnectionStateReconnecting。 - AgoraConnectionStateReconnecting
- (4):SDK 正在持续重连声网边缘服务器。该状态表示 SDK 因网络问题与频道断开连接后,正在尝试重新加入频道:
- 若在 10 秒内未能重新加入频道,SDK 会触发 rtcEngineConnectionDidLost: 回调,保持在该状态并继续重连。
- 若在断开连接 20 分钟后仍未成功重连,SDK 会触发
connectionChangedToState:reason:回调,切换至AgoraConnectionStateFailed状态,并停止重连。
- AgoraConnectionStateFailed
- (5):SDK 无法连接到声网边缘服务器或加入频道。该状态表示 SDK 停止尝试重连。你必须调用 leaveChannel: 离开频道。可调用 joinChannelByToken:channelId:uid:mediaOptions:joinSuccess: 重新加入频道。如果 SDK 被声网边缘服务器通过 RESTful API 禁止加入频道,会触发
connectionChangedToState:reason:回调。