对讲系统的连接状态

最近更新时间:2023-02-21 10:39:53

typedef NS_ENUM(NSInteger, ARTalkConnectionState) {
    
    /**
     1: 初始状态。SDK 未连接到 anyRTC云平台对讲系统。

     App 调用 loginByToken 方法后,SDK 开始登录 anyRTC云平台对讲系统,触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateConnecting 。
     */
    ARTalkConnectionStateDisconnected = 1,
    
    /**
    2: SDK 正在登录 anyRTC 云平台对讲系统。
     * 如果 SDK 登录成功,会触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateConnected 。
     * 如果 SDK 登录失败,会触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateDisconnected 。
     */
    ARTalkConnectionStateConnecting = 2,
    
    /**
     3: SDK 已登录 anyRTC云平台对讲系统。
     * 如果 SDK 由于网络原因断开与 anyRTC云平台对讲系统的连接,SDK 触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateReconnecting 。
     * 如果 SDK 由于重复登录而被服务器踢出,SDK 触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateAborted 。
     * 如果 App 调用 logoutWithCompletion 方法成功登出系统,SDK 触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateDisConnected 。
    */
    ARTalkConnectionStateConnected = 3,

    /**
     4: SDK 与 anyRTC云平台对讲系统连接由于网络原因出现中断,SDK 正在尝试自动重连 anyRTC云平台对讲系统。

     * 如果 SDK 登录成功,SDK 触发 connectionStateChanged 回调,连接状态变为 ARTalkConnectionStateConnected 。SDK 会自动加入中断时用户所在频道,并自动将本地用户属性同步到服务端。
     * 如果 SDK 登录失败,SDK 会保持 ARTalkConnectionStateReConnecting 状态,继续自动重连。
     */
    ARTalkConnectionStateReconnecting = 4,
    
    /**
     5: SDK 放弃登录 anyRTC 云平台对讲系统。

     可能原因:另一实例已经以同一用户 ID 登录 anyRTC云平台对讲系统。

     在此之后,SDK 需要调用 logoutWithCompletion 方法退出登录,再视情况调用 loginByToken 方法重新登录系统。
     */
    ARTalkConnectionStateAborted = 5,
};