我是靠谱客的博主 整齐冬瓜,最近开发中收集的这篇文章主要介绍海康设备通过SDK获取和设置设备网络参数1、获取网络相关参数2、设置网络相关参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1、获取网络相关参数

2、设置网络相关参数


1、获取网络相关参数

//获取设备的网络参数
private void getNetCfg(int iUserID) {
HCNetSDK.NET_DVR_NETCFG_V30 m_strNetCfg = new HCNetSDK.NET_DVR_NETCFG_V30();
m_strNetCfg.dwSize = m_strNetCfg.size();
m_strNetCfg.write();
Pointer pStrDeviceCfg = m_strNetCfg.getPointer();
IntByReference pInt = new IntByReference(0);
boolean b_GetCfg = hcNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_NETCFG_V30,
0Xffffffff, pStrDeviceCfg, m_strNetCfg.dwSize, pInt);
if (b_GetCfg == false) {
logger.error("获取参数失败
错误码:" + hcNetSDK.NET_DVR_GetLastError());
}
m_strNetCfg.read();
byte[] byMACAddr = netCfg.struEtherNet[0].byMACAddr;
List<String> macEles = new ArrayList<>();
for (byte macEle : byMACAddr) {
macEles.add(String.format("%02x", macEle));
}
String mac = StringUtils.join(macEles, "-");
String subnetMask = new String(netCfg.struEtherNet[0].struDVRIPMask.sIpV4).trim();
String gateway = new String(netCfg.struGatewayIpAddr.sIpV4).trim();
logger.info("查询到到海康设备sn:{}, mac:{}, 子网掩码:{}, 网关:{}", sn, mac, subnetMask, gateway);
}

2、设置网络相关参数

 private void setNetCfg(int iUserID, ControllerInfo controllerInfo) {
HCNetSDK.NET_DVR_NETCFG_V30 m_strNetCfg = new HCNetSDK.NET_DVR_NETCFG_V30();
m_strNetCfg.dwSize = m_strNetCfg.size();
m_strNetCfg.write();
Pointer pStrDeviceCfg = m_strNetCfg.getPointer();
IntByReference pInt = new IntByReference(0);
boolean b_GetCfg = hcNetSDK.NET_DVR_GetDVRConfig(iUserID, HCNetSDK.NET_DVR_GET_NETCFG_V30,
0Xffffffff, pStrDeviceCfg, m_strNetCfg.dwSize, pInt);
if (b_GetCfg == false) {
logger.error("获取参数失败
错误码:" + hcNetSDK.NET_DVR_GetLastError());
}
m_strNetCfg.read();
m_strNetCfg.struEtherNet[0].struDVRIP.sIpV4 = controllerInfo.getIp().getBytes(); // ip
m_strNetCfg.struEtherNet[0].wDVRPort = controllerInfo.getPort().shortValue(); // port
m_strNetCfg.struEtherNet[0].struDVRIPMask.sIpV4 = controllerInfo.getSubnetMask().getBytes(); // 子网掩码
m_strNetCfg.struGatewayIpAddr.sIpV4 = controllerInfo.getGateway().getBytes(); // 网关
m_strNetCfg.write();
boolean b_SetCameraParam = hcNetSDK.NET_DVR_SetDVRConfig(iUserID, HCNetSDK.NET_DVR_SET_NETCFG_V30, 1, pStrDeviceCfg, m_strNetCfg.size());
if (!b_SetCameraParam) {
logger.error("设置前端参数失败,错误码:" + hcNetSDK.NET_DVR_GetLastError());
}
m_strNetCfg.read();
logger.info("成功设置海康设备ip:[{}]", controllerInfo.getIp());
}

最后

以上就是整齐冬瓜为你收集整理的海康设备通过SDK获取和设置设备网络参数1、获取网络相关参数2、设置网络相关参数的全部内容,希望文章能够帮你解决海康设备通过SDK获取和设置设备网络参数1、获取网络相关参数2、设置网络相关参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部