From 39203340a182118df68c9c8b0edad5edf5c72f15 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期三, 08 十二月 2021 09:36:39 +0800
Subject: [PATCH] Merge branch 'dev-hxb'

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java        |    2 +-
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java              |    5 ++---
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java                 |   17 +++++++++++++++++
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java |    2 +-
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java                             |    9 +--------
 5 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index 44815ae..5f9fcfd 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -106,7 +106,7 @@
 
 //        final SocketOptions options = new SocketOptions();
 //
-        MessagePipeLine pipeLine = new MessagePipeLine();
+//        MessagePipeLine pipeLine = new MessagePipeLine();
 //        options.setHandleMessage(pipeLine);
 //        options.setEnabledHeartbeat(false);
 
@@ -176,13 +176,6 @@
             @Override
             public void onMessage(Object msg) {
                 LinkResponse response = (LinkResponse)msg;
-                if(response != null){
-                    Log.i(TAG, "AllTopicsListener"
-                            + "\nTopic: " + response.getTopic()
-                            +"\n Data: " + response.getData());
-                    handleLinkResponse(response);
-                }
-
             }
         };
         HDLLink.getInstance().registerAllTopicsListener(allTopicsListener);
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java
index f35cfb9..2f2f010 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java
@@ -37,6 +37,23 @@
         return "255.255.255.255";
     }
 
+    public static boolean isLocalIpAddress(String ipAddress) {
+        try {
+            for (Enumeration<NetworkInterface> niEnum = NetworkInterface.getNetworkInterfaces();
+                 niEnum.hasMoreElements(); ) {
+                NetworkInterface ni = niEnum.nextElement();
+                for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) {
+                    if (ipAddress.equals(interfaceAddress.getAddress().getHostAddress())) {
+                        return true;
+                    }
+                }
+            }
+        } catch (SocketException e) {
+            e.printStackTrace();
+        }
+        return false;
+    }
+
     public static String getIP(Context application) {
         WifiManager wifiManager = (WifiManager) application.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
         if (!wifiManager.isWifiEnabled()) {
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 a03af52..834c242 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
@@ -166,7 +166,7 @@
                 } else {
                     response.setData(new String(body, "utf-8"));
                 }
-                LogUtils.i("LinkMessageDecoder", "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData());
+                LogUtils.i( "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData());
                 //瑙f瀽瀹屾垚,topic鍙戦�佷竴娆�
                 EventDispatcher.getInstance().post(response.getTopic(), response);
             }
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 2536836..95ac400 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
@@ -413,6 +413,7 @@
                     if (msg instanceof LinkResponse) {
                         LinkResponse linkResponse = (LinkResponse) msg;
                         String data = linkResponse.getData();
+                        LogUtils.i("鎼滅储鍒扮綉鍏�->" + data);
                         if (!TextUtils.isEmpty(data)) {
                             final BaseLocalResponse<GatewaySearchBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
                             }.getType());
@@ -430,7 +431,6 @@
                                 }
                             }
                         }
-
                     }
                 } catch (Exception e) {
 
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
index c76ad70..1f3dab9 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
@@ -19,6 +19,7 @@
 import java.net.DatagramSocket;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
+import java.net.SocketAddress;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -135,10 +136,8 @@
         }
         //鎺掗櫎鑷繁鍙戝嚭鍘荤殑
         try {
-            if (receivePacket.getAddress().getHostAddress()
-                    .equals(IpUtils.getIP(HDLSdk.getInstance().getContext()))) {
+            if (IpUtils.isLocalIpAddress( receivePacket.getAddress().getHostAddress()))
                 return;
-            }
         } catch (Exception ignored) {
 
         }

--
Gitblit v1.8.0