From 5873127e4249693d11d9c321599011ea6b12ba1f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期一, 18 九月 2023 19:23:49 +0800 Subject: [PATCH] 处理接收数据优化 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 54 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 28 insertions(+), 26 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 595c20b..6a3b624 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 @@ -148,19 +148,29 @@ EventDispatcher.getInstance().register(TopicConstant.GATEWAY_AUTH_BROADCAST, new EventListener() { @Override public void onMessage(Object msg) { - LogUtils.i("鏀跺埌缃戝叧璁よ瘉淇℃伅: "); - NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg); - if (bean != null) { - //绉婚櫎鐩戝惉 - EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST); - LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress()); - HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress()); - String ipStr = bean.getIPAddress(); - if (!TextUtils.isEmpty(ipStr)) { - sendAuthenticateRequest(ipStr, request, callBack); + try { + LogUtils.i("鏀跺埌缃戝叧璁よ瘉淇℃伅: "); + NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg); + if (bean != null) { + LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress()); + if (!TextUtils.isEmpty(bean.getSlave_mac())) { + if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) { + LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�"+bean.getSlave_mac()+" 鏈満鐨勬槸"+request.getObjects().getDeviceMAC()); + return; + } + } + //绉婚櫎鐩戝惉 + EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST); + HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress()); + String ipStr = bean.getIPAddress(); + if (!TextUtils.isEmpty(ipStr)) { + sendAuthenticateRequest(ipStr, request, callBack); + } } - } + }catch (Exception e){ + LogUtils.e("鍏ョ綉楠岃瘉寮傚父",e.getMessage()); + } } }); } @@ -205,6 +215,7 @@ request.setIp_address(authenticateDeviceInfoBean.getIPAddress()); request.setMaster("false"); request.setLocalEncrypt(false); + request.setHomeId(HDLLinkConfig.getInstance().getHomeId()); data.setObjects(request); @@ -213,21 +224,7 @@ GsonConvert.getGson().toJson(data)); String ip = IpUtils.getBroadcastAddress(); - HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() { - @Override - public void onSucceed(Object msg) { - if (callBack == null) return; - callBack.onSuccess("涓婃姤鎴愬姛"); - LogUtils.i("UploadGatewayInfo onSucceed = " + msg); - } - - @Override - public void onFailure() { - if (callBack == null) return; - callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UPLOAD_GATEWAYINFO_FAILURE_ERROR)); - LogUtils.i("UploadGatewayInfo onFailure"); - } - }); + HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, null); } @@ -258,16 +255,21 @@ String localSecret = ""; String gatewayId = ""; String ipAddress = ""; + String homeId=""; if (bean.getAuth() != null) { localSecret = bean.getAuth().getLocalSecret(); } if (bean.getObjects() != null) { gatewayId = bean.getObjects().getGatewayID(); ipAddress = bean.getObjects().getIPAddress(); + homeId=bean.getObjects().getHomeId(); } if (ipAddress == null) { ipAddress = bean.getIp_address(); } + if(!TextUtils.isEmpty(homeId)){ + HDLLinkConfig.getInstance().setHomeId(homeId); + } HDLLinkConfig.getInstance().setAuthBean(request.getAuth()); //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔� -- Gitblit v1.8.0