海康Ehome协议java开发

海康Ehome协议java开发海康 Ehome 协议 java 开发注 我创建了 springboot 项目 1 先把必要的包导入 maven 依赖自己来 2 从海康 demo 里把这这三个文件导入 3 初始化 CMS 注册 报警 存储 Componentpub publicstatic publicstatic publicstatic

海康Ehome协议 java开发
注:我创建了springboot项目,

3.初始化CMS注册,报警,存储

@Component public class CodeCache { public static HCISUPCMS hcisupcms; public static HCISUPAlarm hcisupalarm; public static HCISUPSS hcisupss; @Autowired HikSDKProperties hikSDKProperties; public static String alarmUrl; public static String cmsUrl; public static String ssUrl; @PostConstruct public void init(){ alarmUrl = hikSDKProperties.getAlarmPath(); cmsUrl = hikSDKProperties.getCmsPath(); ssUrl = hikSDKProperties.getSsPath(); hcisupss = HCISUPSS.INSTANCE; hcisupalarm = HCISUPAlarm.INSTANCE; hcisupcms = HCISUPCMS.INSTANCE; } } 

2.在项目启动后执行

@Component public class ApplicationRunnerImpl implements ApplicationRunner { public HCISUPCMS hcisupcms = CodeCache.hcisupcms; public HCISUPAlarm hcisupalarm = CodeCache.hcisupalarm; public HCISUPSS hcisupss = CodeCache.hcisupss; @Autowired private HikServerProperties serverProperties; @Override public void run(ApplicationArguments args) throws Exception { System.out.println("通过实现ApplicationRunner接口,在spring boot项目启动后打印参数"); //存储服务器 ss(); //报警服务器 ealarm(); cms(); } / * 存储监听 */ private void ss() { boolean sinit = hcisupss.NET_ESS_Init(); if(!sinit){ System.out.println("NET_ESS_Init失败!"); } HCISUPSS.NET_EHOME_SS_LISTEN_PARAM pSSListenParam = new HCISUPSS.NET_EHOME_SS_LISTEN_PARAM(); pSSListenParam.fnSSMsgCb = new PSS_Message_Callback(); pSSListenParam.fnSStorageCb = new MyEHomeSSStorageCallBack(); // String strIP = "192.168.1.186"; String strIP = serverProperties.getIp(); System.arraycopy(strIP.getBytes(), 0, pSSListenParam.struAddress.szIP, 0, strIP.length()); pSSListenParam.struAddress.wPort = 7661; String strKMS_UserName = "test"; System.arraycopy(strKMS_UserName.getBytes(), 0, pSSListenParam.szKMS_UserName, 0, strKMS_UserName.length()); String strKMS_Password = "12345"; System.arraycopy(strKMS_Password.getBytes(), 0, pSSListenParam.szKMS_Password, 0, strKMS_Password.length()); String strAccessKey = "test"; System.arraycopy(strAccessKey.getBytes(), 0, pSSListenParam.szAccessKey, 0, strAccessKey.length()); String strSecretKey = "12345"; System.arraycopy(strSecretKey.getBytes(), 0, pSSListenParam.szSecretKey, 0, strSecretKey.length()); pSSListenParam.byHttps = 0; pSSListenParam.write(); NativeLong listenSS = hcisupss.NET_ESS_StartListen(pSSListenParam);//存储监听 if (listenSS.intValue() == -1) { log.error("NET_ESS_StartListen启动注册监听失败,错误号:",hcisupss.NET_ESS_GetLastError()); return; } System.out.println("存储监听:"+listenSS.intValue()); } private void ealarm() { hcisupalarm.NET_EALARM_Init(); HCISUPAlarm.NET_EHOME_ALARM_LISTEN_PARAM pAlarmListenParam = new HCISUPAlarm.NET_EHOME_ALARM_LISTEN_PARAM(); pAlarmListenParam.fnMsgCb = new MyEHomeMsgCallBack(); // pAlarmListenParam.struAddress.szIP="192.168.1.186".getBytes(); pAlarmListenParam.struAddress.szIP= serverProperties.getIp().getBytes(); pAlarmListenParam.struAddress.wPort = 7662; pAlarmListenParam.pUserData = null; pAlarmListenParam.byProtocolType = 1; //0- TCP方式(保留,暂不支持),1- UDP方式 pAlarmListenParam.byUseCmsPort = 0; //是否复用CMS端口:0- 不复用,非0- 复用 //如果复用cms端口,协议类型字段无效,此时AMS的本地监听信息struAddress填本地回环地址, //本地回环地址通过NET_ECMS_GetSDKLocalCfg、NET_ECMS_SetSDKLocalCfg获取和设置) NativeLong nativeLong = hcisupalarm.NET_EALARM_StartListen(pAlarmListenParam);//报警监听 if(nativeLong.intValue() < -1){ hcisupalarm.NET_EALARM_Fini(); System.out.println("报警监听失败"+hcisupcms.NET_ECMS_GetLastError()); return; } System.out.println("报警监听"+nativeLong); } private void cms(){ //CMS注册模块初始化 hcisupcms.NET_ECMS_Init(); System.out.println("版本号:"+hcisupcms.NET_ECMS_GetBuildVersion()); HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM lpCMSListenPara = new HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM(); lpCMSListenPara.fnCB = new RegisterCallBack(); // lpCMSListenPara.struAddress.szIP="192.168.1.186".getBytes(); lpCMSListenPara.struAddress.szIP= serverProperties.getIp().getBytes(); lpCMSListenPara.struAddress.wPort = 7660; //启动监听,接收设备注册信息 NativeLong nativeLong = hcisupcms.NET_ECMS_StartListen(lpCMSListenPara); if(nativeLong.intValue() < -1){ log.info("注册监听失败,error code:{}",hcisupcms.NET_ECMS_GetLastError()); hcisupcms.NET_ECMS_Fini(); return; } int lLoginID = nativeLong.intValue(); try { while(true){ Thread.sleep(1000); if(lLoginID >= 0){ break; } } Thread.sleep(3000); }catch (Exception e){} log.info("NET_ECMS_StartListen启动注册监听成功!{}",nativeLong.intValue()); } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203125.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午10:31
下一篇 2026年3月19日 下午10:32


相关推荐

  • Win7迁移基础知识(2):USMT(用户状态迁移工具)

    Win7迁移基础知识(2):USMT(用户状态迁移工具)

    2021年8月20日
    121
  • goland 2021激活码(破解版激活)

    goland 2021激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    305
  • docker(4)解决pull镜像速度缓慢「建议收藏」

    docker(4)解决pull镜像速度缓慢「建议收藏」前言上一篇讲到pull镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的将docker镜像源修改为国内的:在/etc/docker/d

    2022年7月28日
    47
  • vue项目中使用postcss-px2rem的方法总结「建议收藏」

    vue项目中使用postcss-px2rem的方法总结「建议收藏」标题vue项目中postcss-px2rem的使用在项目中为了屏幕适配,经常会用到rem,postcss-px2rem就是为了让我们直接在将代码中px自动转化成对应的rem的一个插件如何使用:1.安装npmipostcss-px2rem–save-dev2.设置(以下总结了三种方式)1).找到项目根目录下的.postcssrc文件module.exports={“plugins”:{“postcss-import”:{},”postcss-url”

    2025年8月1日
    5
  • siamfc代码解读_SiamFC算法改进思路「建议收藏」

    siamfc代码解读_SiamFC算法改进思路「建议收藏」视频追踪问题中,目标通常是连续可微的。SiamFC利用全卷积孪生网络结构对搜索域和样本图像进行相似度匹配,实现追踪目标。本文分析了SiamFC在vot2015数据集上的追踪结果,总结出以下问题,并提出针对性的改进方案。表现鲁棒小范围晃动运动模糊短时局部遮挡重点问题光照变化视频中白色猫由亮处转入阴影中,跟踪结果开始出现偏差。光照条件较差,而且目标的衣服为黑色,与背景相似。特征不够明显。形变、尺度变换…

    2026年4月17日
    6
  • Postman汉化补丁

    Postman汉化补丁版本 9 0 5 更新时间 2021 10 10 系统 macOSBigSur1 2 3 Intel 汉化包地址 链接 https pan baidu com s 16x zpkyFxY4rYrd 提取码 6p87 操作方式 下载链接 https pan baidu com s 16x zpkyFxY4rYrd 提取码 6p87 解压 app zip 进入访达 应用程序 Postman app Contents Resourc

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号