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); 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()) { 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")); } Log.i("TAG", "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData()); LogUtils.i( "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData()); //解析完成,topic发送一次 EventDispatcher.getInstance().post(response.getTopic(), response); } 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()); @@ -422,13 +423,12 @@ removeSearchGatewayEvent();//移除搜索网关监听 isSearchGatewaySuccess.set(true);//搜索成功标记 searchGatewayCount.set(11);//次数标记 if(mSearchGatewayCallBack != null){ if (mSearchGatewayCallBack != null) { mSearchGatewayCallBack.onSuccess(searchBean); } } } } } } catch (Exception e) { 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) { }