[2021-09-14 13:54:12.992][DBG] Alarm chan [0] recv timeout[3]!
[2021-09-14 13:54:17.993][DBG] Alarm chan [0] recv timeout[4]!
[2021-09-14 13:54:22.993][DBG] Alarm chan [0] recv timeout[5]!
[2021-09-14 13:54:27.994][DBG] Alarm chan [0] recv timeout[6]!
[2021-09-14 13:54:32.995][DBG] Alarm chan [0] reconnect thread start!
若报类似的错误,两个原因
- 表明设备和SDK断开连接,正在重连。
- 也有可能是回调函数耗时比较长。
解决方法
1、把所有业务注释掉,只保留日志,看看是否还有这样的日志,若是还有就表明网络问题。
2、配置超时连接时间
boolean initSuc = hCNetSDK.NET_DVR_Init();
//输出SDK的日志
hCNetSDK.NET_DVR_SetLogToFile(2, "/var/log/hksdk/", false);
//超时连接时间和连接次数,就是布防后连接次数
hCNetSDK.NET_DVR_SetConnectTime(5000, 5);
//超时后重新连接时间,true是一直连接
hCNetSDK.NET_DVR_SetReconnect(10000, true);
注:不能设置回调函数的用时,也就是说为减少回调函数中的时间,需要采用多线程处理。