From e7b8a808c2274e9c4329092bb752c7ea5cb035fc Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 13 十二月 2021 14:20:20 +0800
Subject: [PATCH] 2021-12-13 1.优化发送,和认证失败错误码处理

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java |   58 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
index ea53e38..e5679af 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
@@ -29,7 +29,14 @@
 
     private SocketBoot boot;
     private UdpSocketBoot udpSocketBoot;
-    private InetSocketAddress inetSocketAddress;
+    /**
+     * 鍙戦�佺殑鐩爣IP
+     */
+    private String ipAddress;
+    /**
+     * 鍙戦�佺殑鐩爣鍦板潃
+     */
+    private int port;
     private final LinkRequest linkRequest;
     private final EventListener eventListener;
 
@@ -71,11 +78,12 @@
     }
 
     private HdlSocketHelper(Long sendAwaitTime, int maxRetry, UdpSocketBoot udpSocketBoot,
-                            InetSocketAddress inetSocketAddress, LinkRequest linkRequest, String observeTopic, HdlSocketListener listener) {
+                            String ipAddress,int port , LinkRequest linkRequest, String observeTopic, HdlSocketListener listener) {
         this.sendAwaitTime = sendAwaitTime;
         this.maxRetry = maxRetry;
         this.udpSocketBoot = udpSocketBoot;
-        this.inetSocketAddress = inetSocketAddress;
+        this.ipAddress = ipAddress;
+        this.port = port;
         this.linkRequest = linkRequest;
         this.listener = listener;
         this.sendNumber = new AtomicInteger(0);
@@ -120,34 +128,44 @@
      * Udp鐨勫彂閫佹柟娉�
      *
      * @param udpSocketBoot     Udp褰撳墠瀵规帴
-     * @param inetSocketAddress 鍙戦�佺殑鐩爣鍦板潃
+     * @param ipAddress 鍙戦�佺殑鐩爣IP鍦板潃
+     * @param port 鐩殑绔彛
      * @param linkRequest       鍙戦�佺殑鏁版嵁
      * @param observeTopic      鍙戦�佺殑涓婚
+     * @param retry 閲嶅彂鏁版
      * @param listener          鍥炶皟
      */
-    public static void send(UdpSocketBoot udpSocketBoot, InetSocketAddress inetSocketAddress, LinkRequest linkRequest, String observeTopic, HdlSocketListener listener) {
+    public static void sendUdp(UdpSocketBoot udpSocketBoot, String  ipAddress ,int port, LinkRequest linkRequest, String observeTopic, int retry,HdlSocketListener listener) {
         if (TextUtils.isEmpty(observeTopic)) {
             observeTopic = linkRequest.getTopic() + "_reply";
         }
-        HdlSocketHelper socketHelper = new HdlSocketHelper(DEF_SEND_TIMEOUT, DEF_SEND_ONE, udpSocketBoot, inetSocketAddress, linkRequest, observeTopic, listener);
+        HdlSocketHelper socketHelper = new HdlSocketHelper(DEF_SEND_TIMEOUT, retry, udpSocketBoot, ipAddress,port, linkRequest, observeTopic, listener);
         socketHelper.send();
     }
 
     /**
-     * Udp鍙戦�佺殑鏂规硶
+     * Udp鐨勫彂閫佹柟娉�
      *
-     * @param udpSocketBoot     褰撳墠Udp瀵硅薄
-     * @param inetSocketAddress 鍙戦�佺殑鐩爣鍦板潃
-     * @param linkRequest       鍙戦�佺殑瀵硅薄
+     * @param udpSocketBoot     Udp褰撳墠瀵规帴
+     * @param ipAddress 鍙戦�佺殑鐩爣IP鍦板潃
+     * @param port 鐩殑绔彛
+     * @param linkRequest       鍙戦�佺殑鏁版嵁
      * @param listener          鍥炶皟
      */
-    public static void send(UdpSocketBoot udpSocketBoot, InetSocketAddress inetSocketAddress, LinkRequest linkRequest, HdlSocketListener listener) {
-        String observeTopic = null;
-        if (TextUtils.isEmpty(observeTopic)) {
-            observeTopic = linkRequest.getTopic() + "_reply";
-        }
-        HdlSocketHelper socketHelper = new HdlSocketHelper(DEF_SEND_TIMEOUT, DEF_SEND_ONE, udpSocketBoot, inetSocketAddress, linkRequest, observeTopic, listener);
-        socketHelper.send();
+    public static void sendUdp(UdpSocketBoot udpSocketBoot, String  ipAddress ,int port, LinkRequest linkRequest, HdlSocketListener listener) {
+        sendUdp(udpSocketBoot,ipAddress,port,linkRequest,null,DEF_MAX_RETRY,listener);
+    }
+
+    /**
+     * Udp鐨勫彂閫佹柟娉�
+     *
+     * @param udpSocketBoot     Udp褰撳墠瀵规帴
+     * @param ipAddress 鍙戦�佺殑鐩爣IP鍦板潃
+     * @param port 鐩殑绔彛
+     * @param linkRequest       鍙戦�佺殑鏁版嵁
+     */
+    public static void sendUdpOne(UdpSocketBoot udpSocketBoot, String  ipAddress ,int port, LinkRequest linkRequest) {
+        sendUdp(udpSocketBoot, ipAddress, port, linkRequest, null, DEF_SEND_ONE, null);
     }
 
     private void send() {
@@ -166,7 +184,7 @@
                             }
                             //濡傛灉鏄痷dp
                             if (null != udpSocketBoot) {
-                                udpSocketBoot.sendMsg(inetSocketAddress, linkRequest.getSendBytes());
+                                udpSocketBoot.sendMsg(ipAddress,port, linkRequest.getSendBytes());
                             }
                         }
                     } catch (Exception e) {
@@ -179,7 +197,9 @@
                     }
                 }
             }
-        }, sendAwaitTime, sendAwaitTime, TimeUnit.MILLISECONDS);
+        }, 0, sendAwaitTime, TimeUnit.MILLISECONDS);
+        //initialdelay - 棣栨鎵ц鐨勫欢杩熸椂闂� 0
+        //delay - 涓�娆℃墽琛岀粓姝㈠拰涓嬩竴娆℃墽琛屽紑濮嬩箣闂寸殑寤惰繜
     }
 
     /**

--
Gitblit v1.8.0