AgoraConnectionStateType 常量
Declared in | AgoraEnumerates.h |
---|
AgoraConnectionStateType
网络连接状态类型
Definition
typedef NS_ENUM(NSInteger, AgoraConnectionStateType ) {
AgoraConnectionStateDisconnected = 1,
AgoraConnectionStateConnecting = 2,
AgoraConnectionStateConnected = 3,
AgoraConnectionStateReconnecting = 4,
AgoraConnectionStateFailed = 5,
};
Constants
AgoraConnectionStateDisconnected
-
1: 网络连接断开。
该状态表示 SDK 处于:
- 调用 joinChannelByToken 加入频道前的初始化阶段;
- 调用 leaveChannel 后的离开频道阶段。
Declared In
AgoraEnumerates.h
. AgoraConnectionStateConnecting
-
2: 建立网络连接中。
该状态表示 SDK 在调用 joinChannelByToken 后正在与指定的频道建立连接。
如果成功加入频道,App 会收到 connectionChangedToState 回调,通知当前网络状态变成AgoraConnectionStateConnected
。
建立连接后,SDK 还会处理媒体初始化,一切就绪后会回调 didJoinChannel。Declared In
AgoraEnumerates.h
. AgoraConnectionStateConnected
-
3: 网络已连接。
该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时 App 会收到:
- connectionChangedToState 回调,通知当前网络状态变成
AgoraConnectionStateReconnecting
;- rtcEngineConnectionDidInterrupted 回调。
Declared In
AgoraEnumerates.h
. - connectionChangedToState 回调,通知当前网络状态变成
AgoraConnectionStateReconnecting
-
4: 重新建立网络连接中。
该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。
- 如果 SDK 无法在 10 秒内重新加入频道,则 rtcEngineConnectionDidLost 会被触发,SDK 会一直保持在
AgoraConnectionStateReconnecting
的状态,并不断尝试重新加入频道。- 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,App 会收到 connectionChangedToState 回调,通知当前网络状态进入
AgoraConnectionStateFailed
,SDK 停止尝试重连。Declared In
AgoraEnumerates.h
. - 如果 SDK 无法在 10 秒内重新加入频道,则 rtcEngineConnectionDidLost 会被触发,SDK 会一直保持在
AgoraConnectionStateFailed
-
5: 网络连接失败。
该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。
如果用户还想重新加入频道,则需要再次调用 joinChannelByToken。
如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到 rtcEngineConnectionDidBanned 以及 connectionChangedToState 回调。Declared In
AgoraEnumerates.h
.
Declared In
AgoraEnumerates.h