package com.netsdk.demo.customize; import com.netsdk.lib.NetSDKLib; import com.netsdk.lib.callback.impl.DefaultDisconnectCallback; import com.netsdk.lib.callback.impl.DefaultHaveReconnectCallBack; import com.netsdk.lib.callback.impl.MessCallBack; import com.netsdk.module.BaseModule; import com.netsdk.module.entity.DeviceInfo; /** * @author 47081 * @version 1.0 * @description 硬盘报警 * @date 2020/9/8 */ public class DiskAlarmDemo { private NetSDKLib netsdk=NetSDKLib.NETSDK_INSTANCE; private BaseModule baseModule; private String ip="172.24.0.228"; private int port=37777; private String username="admin"; private String password="admin123"; private DeviceInfo info; private long loginHandler; public DiskAlarmDemo(){ this.baseModule=new BaseModule(netsdk); } /** * 初始化 */ public void init(){ baseModule.init(DefaultDisconnectCallback.getINSTANCE(), DefaultHaveReconnectCallBack.getINSTANCE(),true); } public long login(){ info= baseModule.login(ip,port,username,password); return info.getLoginHandler(); } public void listen(){ //设置报警事件回调 netsdk.CLIENT_SetDVRMessCallBack(MessCallBack.getInstance(),null); //订阅报警事件 netsdk.CLIENT_StartListenEx(new NetSDKLib.LLong(loginHandler)); } //退订 public void stopListen(){ netsdk.CLIENT_StopListen(new NetSDKLib.LLong(loginHandler)); } public static void main(String[] args) throws InterruptedException { DiskAlarmDemo demo=new DiskAlarmDemo(); demo.init(); if(demo.login()!=0){ //登录成功则订阅 demo.listen(); //阻塞线程,等待事件上报 while(true){ Thread.sleep(1000); } } } }