• +86-18468090689
  • toriejiang1991@sina.cn

服务器用户SDK编程

用户SDK编程文章背景

服务器用户SDK编程

本文使用2.1.4.10版本SDK,该版本提供64位linux系统动态库与32位windows系统动态库,用户SDK目录文件如下:

服务器用户SDK文件

  • hailinUserSdk.chm文件:SDK数据结构体与SDK API接口函数说明文档;
  • hlServUserSDK.dll与hlServUserSDK.lib文件:32位windows系统动态库;
  • libhlServerUserSdk.so文件:64位linux系统动态库;
  • libhlUserSdk.h文件:SDK头文件;
  • mainRel.cpp文件:用户SDK例程代码;

服务器用户SDK开发流程:

  1. 使能用户SDK环境:[linux系统库,初始化SDK函数需要传入使用网卡的名称]
    /**
    * @brief		initUserSdk: SDK初始化函数,用户配置服务器域名并连接服务器
    * @author		HaiLin.toraloo
    * @param[in]	pSavefilePath	SDK下载文件存储路径
    * @param[in]	pIPAddr	 传入服务器域名或者服务器IP地址串
    * @param[in]	isDomain 采用域名解析还是IP地址串解析标志:
    * - 0:IP地址串解析
    * - 1:域名解析
    * @param[in]	pNetcardName 网卡名称
    * @return
    * - 1:成功
    * - 0:失败
    * @warning pIPAddr传入空值时,isDomain必须为true
    */
    #if _WIN32
    EXTERN_C_ HAILIN_USER_API bool _APICALL initUserSdk(const char *pSavefilePath, const char *pIPAddr, int isDomain);
    #else
    EXTERN_C_ HAILIN_USER_API bool _APICALL initUserSdk(const char *pSavefilePath, const char *pIPAddr, int isDomain, const char *pNetcardName);
    #endif
  2. 注册SDK事件处理回调函数:
    /** 
     * @brief		eventCallbackfunction:事件处理回调函数
     * @author		HaiLin.toraloo
     * @param[in]	pUserParam	用户传入数据
     * @param[in]	nCmdCode	事件指令码
     * @param[in]	pEvtDat		事件数据
     * @param[in]	nlen		事件数据长度
     * @return	暂不使用
     * @warning 警告: 传入参数不能为空
     */
    static int eventCallbackfunction(void *pUserParam, int nCmdCode, const char *pEvtDat, int nlen);
    
    /*---------------------------------------------------------------------------------------------------------*/
    char		*pTestUserParam = "UserRegisterToSdkClassData";   // 用户传入回调函数参数
    registerSdkEventCallbackfx(pTestUserParam, eventCallbackfunction);  // 注册用户数据与事件处理回调函数
    /*---------------------------------------------------------------------------------------------------------*/
  3. 完成1、2步骤后,便可直接调用SDK的功能函数,当前版本SDK提供18个功能函数,可轻易完成应用软件对硬件设备的管理与控制;[功能函数详细说明参见:hailinUserSdk.chm文档]
  4. 用户SDK销毁函数:
    /**
    * @brief	destroyUserSdk:销毁sdk资源并等待线程结束
    * @author	HaiLin.toraloo
    * @return
    * - 1:成功
    * - 0:失败
    */
    EXTERN_C_ HAILIN_USER_API bool _APICALL destroyUserSdk(void);
  5. 完整代码参考SDK压缩包中mainRel.cpp例程代码;

如需要不同平台的用户SDK库,可将对应平台信息发送至该邮箱地址:toriejiang1991@sina.cn

toraloo