AgoraConnectionStateType Constants Reference

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.

  • AgoraConnectionStateReconnecting

    4: 重新建立网络连接中。

    该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。

  • 如果 SDK 无法在 10 秒内重新加入频道,则 rtcEngineConnectionDidLost 会被触发,SDK 会一直保持在 AgoraConnectionStateReconnecting 的状态,并不断尝试重新加入频道。
  • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,App 会收到 connectionChangedToState 回调,通知当前网络状态进入 AgoraConnectionStateFailed,SDK 停止尝试重连。

    Declared In AgoraEnumerates.h.

  • AgoraConnectionStateFailed

    5: 网络连接失败。

    该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。

  • 如果用户还想重新加入频道,则需要再次调用 joinChannelByToken
  • 如果 SDK 因服务端使用 RESTful API 禁止加入频道,则 App 会收到 rtcEngineConnectionDidBanned 以及 connectionChangedToState 回调。

    Declared In AgoraEnumerates.h.

  • Declared In

    AgoraEnumerates.h