From 995fb35c39a8824303a16978430b56b6ca22c0ba Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期一, 13 十二月 2021 13:00:52 +0800
Subject: [PATCH] 修复线程发送

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java |   34 +++++++++++++++++++++-------------
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java   |    8 ++++----
 2 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index c124267..ac97593 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -178,7 +178,7 @@
         String requestStr = gs.toJson(request);
         LinkRequest message = new LinkRequest(topic, requestStr);
 
-        HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message,new HdlSocketHelper.HdlSocketListener() {
             @Override
             public void onSucceed(Object msg) {
                 if (callBack == null) return;
@@ -328,7 +328,7 @@
                 GsonConvert.getGson().toJson(data));
 
         String ip = IpUtils.getBroadcastAddress();
-        HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
             @Override
             public void onSucceed(Object msg) {
                 if (callBack == null) return;
@@ -369,7 +369,7 @@
 
         LinkRequest message = new LinkRequest(topic, bodyStr);
         String ip = HDLLinkConfig.getInstance().getIpAddress();
-        HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
                     @Override
                     public void onSucceed(Object msg) {
                         if (callBack == null) return;
@@ -402,7 +402,7 @@
         }
         LinkRequest message = new LinkRequest(topic, bodyStr);
         String ip = HDLLinkConfig.getInstance().getIpAddress();// IpUtils.getBroadcastAddress();
-        getUdpBoot().sendMsg(ip, UDP_PORT, message.getSendBytes());
+        HdlSocketHelper.sendUdpOne(getUdpBoot(), ip, UDP_PORT, message);
     }
 
     private GatewaySearchBean getGatewaySearchBean(Object msg) {
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 387661b..b8ef37d 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
@@ -132,32 +132,40 @@
      * @param port 鐩殑绔彛
      * @param linkRequest       鍙戦�佺殑鏁版嵁
      * @param observeTopic      鍙戦�佺殑涓婚
+     * @param retry 閲嶅彂鏁版
      * @param listener          鍥炶皟
      */
-    public static void send(UdpSocketBoot udpSocketBoot, String  ipAddress ,int port, 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, ipAddress,port, 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 udpSocketBoot     Udp褰撳墠瀵规帴
      * @param ipAddress 鍙戦�佺殑鐩爣IP鍦板潃
-     * @param
-     * @param linkRequest       鍙戦�佺殑瀵硅薄
+     * @param port 鐩殑绔彛
+     * @param linkRequest       鍙戦�佺殑鏁版嵁
      * @param listener          鍥炶皟
      */
-    public static void send(UdpSocketBoot udpSocketBoot, String ipAddress ,int port, 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, ipAddress,port, 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() {

--
Gitblit v1.8.0