From 830e47a67026205b75f69e061d81783aa606a237 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期五, 23 九月 2022 16:23:26 +0800
Subject: [PATCH] tcp发送之前判断是否连接

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java |   32 +++++++++++++++-----------------
 1 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
index 31e03b1..20df34d 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
@@ -1,20 +1,14 @@
 package com.hdl.sdk.connect.protocol;
 
 
-import android.annotation.TargetApi;
 import android.os.Build;
-import android.util.Log;
 
-import androidx.annotation.RequiresApi;
-
-import com.google.gson.internal.bind.DateTypeAdapter;
-import com.hdl.sdk.common.utils.LogUtils;
-import com.hdl.sdk.connect.config.HDLLinkConfig;
 import com.hdl.sdk.common.event.EventDispatcher;
 import com.hdl.sdk.common.utils.ByteUtils;
+import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.connect.bean.LinkResponse;
+import com.hdl.sdk.connect.config.HDLLinkConfig;
 import com.hdl.sdk.connect.utils.AesUtil;
-import com.hdl.sdk.connect.utils.ProtocolParse;
 import com.hdl.sdk.socket.codec.ByteToMessageDecoder;
 
 import java.util.ArrayList;
@@ -111,7 +105,7 @@
             }
 
             list.clear();
-            for(int i=0;i<tempList.size();i++){
+            for (int i = 0; i < tempList.size(); i++) {
                 list.add(tempList.get(i));
             }
         }
@@ -119,7 +113,7 @@
 
 
     @Override
-    protected synchronized LinkResponse decoder(Object msg) throws Exception {
+    protected synchronized LinkResponse decoder(Object msg, String ipaddress) throws Exception {
         if (msg instanceof byte[]) {
             bytes.addAll(ByteUtils.toByteList((byte[]) msg));
             //濡傛灉澶氭潯鍛戒护鎵撳寘鍦ㄤ竴鏉℃暟鎹腑锛岄兘闇�瑕佸鐞嗗畬
@@ -157,6 +151,7 @@
                     bytes.add(recevieBytes[i]);
                 }
                 LinkResponse response = new LinkResponse();
+                response.setSource_ipAddress(ipaddress);
                 response.setTopic(topic);
                 if (HDLLinkConfig.getInstance().ifNeedEncrypt(response.getTopic())) {
                     //闇�瑕佽В瀵�
@@ -165,11 +160,13 @@
                         body = bodyBytes;
                     } else {
                         try {
-                            LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n");
-                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
-                                LogUtils.e(Base64.getEncoder().encodeToString(body));
-                            else {
-                                LogUtils.e(new String(body, "utf-8"));
+                            //涔嬪墠鐨勭増鏈繖鍧楁槸鏄庢枃鐨�
+                            if (!topic.contains("heartbeat_reply")) {
+                                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+                                    LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + Base64.getEncoder().encodeToString(body));
+                                else {
+                                    LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + new String(body, "utf-8"));
+                                }
                             }
                         } catch (Exception e) {
                         }
@@ -178,9 +175,10 @@
 
                 String bodyString = new String(body, "utf-8");
                 response.setData(bodyString);
-                LogUtils.i( "鎺ユ敹鍒版暟鎹�:" + response.getTopic() + "\r\n" + response.getData());
+                LogUtils.i("鎺ユ敹鍒版暟鎹�:" + response.getTopic() + "\r\n" + response.getData());
                 //闈炴甯告暟鎹紝杩斿洖
-                if (!(bodyString.startsWith("{") || bodyString.startsWith("["))) {
+                if (!((bodyString.startsWith("{") && bodyString.endsWith("}"))
+                        || (bodyString.startsWith("[") && bodyString.endsWith("]")))) {
                     continue;
                 }
                 //瑙f瀽瀹屾垚,topic鍙戦�佷竴娆�

--
Gitblit v1.8.0