AgoraConnectionState
网络连接状态。
枚举值
- AgoraConnectionStateDisconnected
-
1: 网络连接断开。该状态表示 SDK 处于:
- 调用 joinChannelByToken [2/4] 加入频道前的初始化阶段。
- 或调用 leaveChannel [2/2] 后的离开频道阶段。
- AgoraConnectionStateConnecting
-
2: 建立网络连接中。该状态表示 SDK 在调用 joinChannelByToken [2/4] 后正在与指定的频道建立连接。
- 如果成功加入频道,app 会收到 connectionChangedToState 回调,通知当前网络状态变成 AgoraConnectionStateConnected。
- 建立连接后,SDK 还会初始化媒体,一切就绪后会回调 didJoinChannel。
- AgoraConnectionStateConnected
- 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时 app 会收到 connectionChangedToState 回调,通知当前网络状态变成 AgoraConnectionStateReconnecting。
- AgoraConnectionStateReconnecting
-
4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。
- 如果 SDK 无法在 10 秒内重新加入频道,则 rtcEngineConnectionDidLost 会被触发,SDK 会一直保持在 AgoraConnectionStateReconnecting 的状态,并不断尝试重新加入频道。
- 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 connectionChangedToState 回调,通知 app 的网络状态进入 AgoraConnectionStateFailed,SDK 停止尝试重连。
- AgoraConnectionStateFailed
-
5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 leaveChannel [1/2] 离开频道。
- 如果用户还想重新加入频道,则需要再次调用 joinChannelByToken [2/4]。
- 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 app 会收到 connectionChangedToState。