海康威视 ISAPI 协议,主要用于实现设备的布防、订阅、连接状态管理等功能,可用于安防设备的事件监听与管理。
核心功能模块
1. 设备信息管理
通过DeviceInfoDTO类存储设备的基本信息,包括 IP 地址、端口、用户名、密码及 HTTP/HTTPS 类型(通过HttpTypeEnum枚举区分,0 为 HTTP,1 为 HTTPS)。
设备连接状态通过DeviceLinkStatusDTO管理,记录是否停止连接(stopLink)和是否接收数据(dataRecv),使用AtomicBoolean保证线程安全。
2. 布防与订阅功能
AlarmGuard类是核心控制器,提供设备布防(startGuard)、停止布防(stopGuard)、事件订阅(startSubscribe)、停止订阅(stopSubscribe)等方法。
布防和订阅通过多线程(LongLinkThread)实现长连接,与设备的 ISAPI 接口(如/ISAPI/Event/notification/alertStream)进行通信,接收设备事件通知。
3. 长连接与重连机制
LongLinkThread负责建立与设备的长连接,根据设备信息(HTTP/HTTPS 类型、IP、端口)构建请求 URL。
ReConnect类实现重连逻辑,当连接异常时,通过指数退避策略(基础间隔 30 秒,最大 5 分钟)自动重试,确保连接稳定性。
ResponseConsumer处理设备返回
订阅专栏 解锁全文

2369

被折叠的 条评论
为什么被折叠?



