From 93f031deaf3e17b6de44dfd56d4515a1cfcb6044 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期日, 12 十二月 2021 22:32:47 +0800
Subject: [PATCH] 默认发数据主网关
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java | 10 ++++++++++
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 19 ++++++++++++-------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
index 5fb4298..dd5e830 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
@@ -87,6 +87,13 @@
}
/**
+ * 閲嶆柊淇濆瓨
+ */
+ public void reSaveConfig() {
+ this.saveConfig(this.localSecret, this.gatewayId, this.ipAddress);
+ }
+
+ /**
* 妫�娴嬫槸鍚﹀凡缁忚璇佽繃
*
* @return
@@ -114,6 +121,9 @@
public String getIpAddress() {
return ipAddress;
}
+ public void setIpAddress(String ipAddress){
+ this.ipAddress = ipAddress;
+ }
public boolean isLocalEncrypt() {
return isLocalEncrypt;
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 c823c46..ed94f66 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
@@ -11,6 +11,7 @@
import com.hdl.sdk.common.exception.HDLLinkException;
import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
+import com.hdl.sdk.connect.HDLLink;
import com.hdl.sdk.connect.bean.response.AuthenticateResponse;
import com.hdl.sdk.connect.bean.response.NetworkAccessBroadcastResponse;
import com.hdl.sdk.connect.callback.BaseCallBack;
@@ -352,7 +353,7 @@
return;
}
LinkRequest message = new LinkRequest(topic, bodyStr);
- String ip = IpUtils.getBroadcastAddress();
+ String ip = HDLLinkConfig.getInstance().getIpAddress(); IpUtils.getBroadcastAddress();
HdlSocketHelper.send(getUdpBoot(), InetSocketAddress.createUnresolved(ip,UDP_PORT), message, new HdlSocketHelper.HdlSocketListener() {
@Override
public void onSucceed(Object msg) {
@@ -381,7 +382,7 @@
return;
}
LinkRequest message = new LinkRequest(topic, bodyStr);
- String ip = IpUtils.getBroadcastAddress();
+ String ip = HDLLinkConfig.getInstance().getIpAddress();// IpUtils.getBroadcastAddress();
getUdpBoot().sendMsg( InetSocketAddress.createUnresolved(ip,UDP_PORT),message.getSendBytes());
}
@@ -487,11 +488,15 @@
if (!TextUtils.isEmpty(data)) {
final BaseLocalResponse<GatewaySearchBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
}.getType());
- GatewaySearchBean searchBean = response.getObjects();
- if (searchBean != null && !TextUtils.isEmpty(searchBean.getGatewayId())) {
- if (searchBean.getGatewayId().equals(HDLLinkConfig.getInstance().getGatewayId())) {
- HDLLinkConfig.getInstance().setCurrentGateway(searchBean);//璁剧疆褰撳墠缃戝叧
- HDLLinkConfig.getInstance().setLocalEncrypt(searchBean.isLocalEncrypt());//璁剧疆鏄惁鍔犲瘑
+ GatewaySearchBean gateway = response.getObjects();
+ if (gateway != null && !TextUtils.isEmpty(gateway.getGatewayId())) {
+ //涓荤綉鍏冲苟涓旀槸褰撳墠缁戝畾鐨勭綉鍏�
+ if ("true".equals(gateway.getMaster().toLowerCase()) && gateway.getGatewayId().equals(HDLLinkConfig.getInstance().getGatewayId())) {
+ HDLLinkConfig.getInstance().setCurrentGateway(gateway);//璁剧疆褰撳墠缃戝叧
+ HDLLinkConfig.getInstance().setLocalEncrypt(gateway.isLocalEncrypt());//璁剧疆鏄惁鍔犲瘑
+ HDLLinkConfig.getInstance().setIpAddress(gateway.getIp_address());
+ //鏇存柊褰撳墠缃戝叧鐨勪俊鎭�
+ HDLLinkConfig.getInstance().reSaveConfig();
}
}
}
--
Gitblit v1.8.0