From e7e494c6d168ea2942e1c6fa1c9c7808f4c12184 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期一, 18 九月 2023 13:40:17 +0800
Subject: [PATCH] 完善全局处理模块
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 56 +++++++++++++++++++++++++++++---------------------------
1 files changed, 29 insertions(+), 27 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 5395316..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,20 +255,25 @@
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());
//鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔�
- Log.d("panlili", "HDLAuthSocket.java:onSucceed-----> " + localSecret);
+ Log.d("panlili", "璁よ瘉鎴愬姛----->localSecret= " + localSecret);
if (TextUtils.isEmpty(localSecret) && TextUtils.isEmpty(gatewayId)) {
//璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔�
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED));
--
Gitblit v1.8.0