设备登录管理

最近更新时间:2024-04-12 11:57:31

我的收藏
说明:
设备登录是使用 TRRO 服务的前提步骤。只有完成初始化登录,SDK 才能正常工作。可通过 init 接口完成登录,通过 destroy 接口退出登录。

初始化登录

SDK 通过 init 接口完成与服务的初始化登录。
注意:
同一时刻相同 ID 的设备仅有一个可保持登录状态,其他设备会被系统剔除登录。
SDK 提供强制登录和非强制登录两种登录方式,客户可通过配置文件或 init 接口中 JSON 字符串的 force_login 字段来指示使用何种方式进行登录。
字段
说明
缺省值
值说明
force_login
是否强制登录
0
0:非强制登录,若已有相同 ID 设备登录,当前设备登录会被剔除
1:强制登录,若已有相同 ID 设备登录,之前同 ID 的设备登录会被剔除

登录连接状态监听

SDK 提供信令状态回调接口,用于监听与信令服务的登录连接状态。
/**
* @name TRRO_registerSignalStateCallback
* @brief 注册信令服务连接状态回调
* @param[in] context 上下文
* @param[in] callback 回调函数
* @return 1 for success, other failed
*/
extern "C" TRRO_EXPORT int TRRO_registerSignalStateCallback(void *context, TRRO_onSignalState *callback);

/**
* @name TRRO_onSignalState
* @brief 信令连接状态回调
* @param[in] context 上下文
* @param[in] state 信令连接状态,参考枚举SignalState
* @return void
*/
typedef void TRRO_onSignalState(void *context, SignalState state);


/**
* SignalState 信令连接状态枚举
*/
enum SignalState {
kTrroReady = 0, /**< 连接建立成功 */
kTrroLost = 1, /**< 连接断开,内部会进行自动重连 */
kTrroReup = 2, /**< 自动重连成功 */
kTrroKickout = 3,
kTrroAuthFailed = 4, /**< 用户名或者密码错误 */
};
回调状态
说明
kTrroReady
初始化登录成功。
kTrroLost
登录断开,SDK 会自动尝试重新登录。
kTrroReup
自动重连登录成功。
kTrroKickout
设备登录被剔除,剔除后 SDK 会自动 destroy 退出登录。
kTrroAuthFailed
登录认证错误。

登录退出

SDK 通过 destory 接口主动退出登录。建议不使用 SDK 阶段,可主动调用 destroy 接口,节省系统资源。
注意:
退出登录后,SDK 资源会被释放,接口功能无法再使用。要再次使用 SDK,可重新调用 init 接口初始化登录。