From 4163c93761115c7524ef74a557a1f5e01eafb429 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 29 八月 2024 20:30:39 +0800
Subject: [PATCH] 宇视SDK初始化

---
 ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java |   47 ++++++++++++++++++-----------------------------
 1 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
index 6064fcb..038de80 100644
--- a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
+++ b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
@@ -35,12 +35,6 @@
     public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
     public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE;
 
-    // 璁惧淇℃伅
-    public static NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
-
-    // 鐧婚檰鍙ユ焺
-    public static LLong m_hLoginHandle = new LLong(0);
-
     private static boolean bInit = false;
     private static boolean bLogopen = false;
 
@@ -120,7 +114,7 @@
      * 鐧诲綍璁惧
      * \endif
      */
-    public static long login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
+    public static LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
         //IntByReference nError = new IntByReference(0);
         //鍏ュ弬
         NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY pstInParam = new NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY();
@@ -129,18 +123,21 @@
         pstInParam.szPassword = m_strPassword.getBytes();
         pstInParam.szUserName = m_strUser.getBytes();
         //鍑哄弬
+        //璁惧淇℃伅
+        NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
         NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY pstOutParam = new NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY();
         pstOutParam.stuDeviceInfo = m_stDeviceInfo;
-        //m_hLoginHandle = netsdk.CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword, 0, null, m_stDeviceInfo, nError);
+        // 鐧婚檰鍙ユ焺
+        LLong m_hLoginHandle = new LLong(0);
         m_hLoginHandle = netsdk.CLIENT_LoginWithHighLevelSecurity(pstInParam, pstOutParam);
+        log.info("澶у崕鐧诲綍"+m_hLoginHandle);
         if (m_hLoginHandle.longValue() == 0) {
-            System.err.printf("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, ToolKits.getErrorCodePrint());
+//            System.err.printf("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, ToolKits.getErrorCodePrint());
         } else {
-            System.out.println("Login Success [ " + m_strIp + " ]");
-            log.info("鐧诲綍鎴愬姛");
+//            System.out.println("Login Success [ " + m_strIp + " ]");
+//            log.info("鐧诲綍鎴愬姛");
         }
-
-        return m_hLoginHandle.longValue();
+        return m_hLoginHandle;
     }
 
     /**
@@ -150,24 +147,16 @@
      * 鐧诲嚭璁惧
      * \endif
      */
-    public static boolean logout() {
-        if (m_hLoginHandle.longValue() == 0) {
-            return false;
-        }
-
-        boolean bRet = netsdk.CLIENT_Logout(m_hLoginHandle);
-        if (bRet) {
-            m_hLoginHandle.setValue(0);
-        }
-
+    public static boolean logout(LLong loginId) {
+        boolean bRet = netsdk.CLIENT_Logout(loginId);
         return bRet;
     }
 
-    public static OSDResult getOsd() {
+    public static OSDResult getOsd(LLong loginId) {
         OSDResult osdResult = new OSDResult();
         NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME();
-        if (!netsdk.CLIENT_QueryDeviceTime(m_hLoginHandle, deviceTime, 3000)) {
-            log.error("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint());
+        if (!netsdk.CLIENT_QueryDeviceTime(loginId, deviceTime, 3000)) {
+//            log.error("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint());
             return null;
         }
         Date checkTime = new Date();
@@ -179,15 +168,15 @@
             Date time = simpleDateFormat.parse(date);
             osdResult.setOsdTime(time);
         } catch (ParseException e) {
-            log.error("鏃堕棿瑙f瀽澶辫触");
+//            log.error("鏃堕棿瑙f瀽澶辫触");
         }
         NET_CFG_GBMODE_INFO reserve = new NET_CFG_GBMODE_INFO();
 
         NET_CFG_GBMODE_INFO osdInfo = new NET_CFG_GBMODE_INFO();
         osdInfo.write();
-        boolean b = netsdk.CLIENT_GetConfig(m_hLoginHandle, NET_EM_CFG_GBMODE, 0, osdInfo.getPointer(), osdInfo.size(), 3000, reserve.getPointer());
+        boolean b = netsdk.CLIENT_GetConfig(loginId, NET_EM_CFG_GBMODE, 0, osdInfo.getPointer(), osdInfo.size(), 3000, reserve.getPointer());
         if (!b) {
-            log.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint());
+//            log.error("CLIENT_GetConfig Failed!" + ToolKits.getErrorCodePrint());
             return null;
         } else {
             osdInfo.read();

--
Gitblit v1.8.0