• 大小: 70KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-06
  • 语言: Java
  • 标签: 大华  java  门禁  

资源简介

java对接大华门禁二次开发,实现sdK初始化、登陆、智能订阅等功能,详细信息也可以邮件大华开发支持

资源截图

代码片段和文件信息

package com.netsdk.demo.snippet;

import com.sun.jna.NativeLong;

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;

import javax.imageio.ImageIO;

import com.netsdk.demo.util.base64Util;
import com.netsdk.demo.util.CaseMenu;
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.ToolKits;
import com.netsdk.lib.NetSDKLib.*;
import com.sun.jna.Memory;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;

public class AccessNew {
static NetSDKLib netsdkApi = NetSDKLib.NETSDK_INSTANCE;

// 设备信息
String m_strIp = “172.23.12.97“;
int m_nPort = 37777;
String m_strUser = “admin“;
String m_strPassword = “admin123“;

// 接口调用超时时间
private static final int TIME_OUT = 6 * 1000;
//private static final int TIME_OUT = 6 * 1000;

private NetSDKLib.NET_DEVICEINFO_Ex deviceinfo = new NetSDKLib.NET_DEVICEINFO_Ex();
private static LLong loginHandle = new LLong(0); // 登陆句柄
private static LLong m_hAttachHandle = new LLong(0); // 订阅句柄

// 设备断线回调: 通过 CLIENT_Init 设置该回调函数,当设备出现断线时,SDK会调用该函数
public class fDisConnectCB implements NetSDKLib.fDisConnect {
public void invoke(LLong lLoginID String pchDVRIP int nDVRPort
Pointer dwUser) {
System.out.printf(“Device[%s] Port[%d] Disconnect!\n“ pchDVRIP
nDVRPort);
}
}

// 网络连接恢复,设备重连成功回调
// 通过 CLIENT_SetAutoReconnect 设置该回调函数,当已断线的设备重连成功时,SDK会调用该函数
public class HaveReConnect implements NetSDKLib.fHaveReConnect {
public void invoke(LLong loginHandle String pchDVRIP int nDVRPort
Pointer dwUser) {
System.out.printf(“ReConnect Device[%s] Port[%d]\n“ pchDVRIP
nDVRPort);
}
}

private fDisConnectCB m_DisConnectCB = new fDisConnectCB();
private HaveReConnect haveReConnect = new HaveReConnect();

public void InitTest() {
// 初始化SDK库,必须调用
netsdkApi.CLIENT_Init(m_DisConnectCB null);

// 设置断线重连回调接口,设置过断线重连成功回调函数后,当设备出现断线情况,SDK内部会自动进行重连操作
// 此操作为可选操作,但建议用户进行设置
netsdkApi.CLIENT_SetAutoReconnect(haveReConnect null);

// 设置登录超时时间和尝试次数,可选
int waitTime = 5000; // 登录请求响应超时时间设置为5S
int tryTimes = 3; // 登录时尝试建立链接3次
netsdkApi.CLIENT_SetConnectTime(waitTime tryTimes);

// 设置更多网络参数,NET_PARAM的nWaittime,nConnectTryNum成员与CLIENT_SetConnectTime
// 接口设置的登录设备超时时间和尝试次数意义相同可选
NetSDKLib.NET_PARAM netParam = new NetSDKLib.NET_PARAM();
netParam.nConnectTime = 10000; // 登录时尝试建立链接的超时时间

netsdkApi.CLIENT_SetNetworkParam(netParam);

// 打开日志,可选
NetSDKLib.LOG_SET_PRINT_INFO setLog = new NetSDKLib.LOG_SET_PRINT_INFO();

File path = new File(“./sdklog/“);
if (!path.exists()) {
path.mkdir();
}

String logPath = path.getAbsoluteFile().getParent()
+ “/sdklog/sdklog.log“;

System.out.println(logPath);
setLog.bSetFilePath = 1;
System.arraycopy(logPath.getBytes() 0 setLog.szLog

评论

共有 条评论