From 0a8fd4aa92555875f58f67144c2c0c0a20a200af Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 20 八月 2024 09:57:13 +0800
Subject: [PATCH] 增加版本通过配置读取
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
index 14f9b6e..56a047d 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -109,7 +109,7 @@
public void run() {
while (true) {
try {
- Thread.sleep(1000);
+ Thread.sleep(5000);
// LogUtils.i("checkIfCertified=" + HDLLink.getInstance().checkIfCertified() + " getTcp().connected=" + getTcp().connected);
try {
if (!HDLLink.getInstance().checkIfCertified() || (!TextUtils.isEmpty(getTcpIp()) && getTcp().connected)) {
@@ -473,14 +473,15 @@
}
}
- public SocketBoot getTcp() throws RuntimeException {
- if (TextUtils.isEmpty(getTcpIp())) {
+ public synchronized SocketBoot getTcp() throws RuntimeException {
+ String gatewayIpAddress=getTcpIp();
+ if (TextUtils.isEmpty(gatewayIpAddress)) {
LogUtils.e("璇锋悳绱㈢綉鍏�");
throw new RuntimeException("璇锋悳绱㈢綉鍏�");
}
//濡傛灉娌℃湁鍒濆鍖栵紝鎴栬�呯綉鍏矷P鏇存敼浜嗭紝灏遍噸鏂板垵濮嬪寲
- if (tcpBoot == null || !getTcpOptions().getIp().equals(getTcpIp())) {
- tcpBoot = TcpClient.init(getTcpIp(), getTcpPort(), getTcpOptions());
+ if (tcpBoot == null || !getTcpOptions().getIp().equals(gatewayIpAddress)) {
+ tcpBoot = TcpClient.init(gatewayIpAddress, getTcpPort(), getTcpOptions());
tcpBoot.SetHeartbeat(new IHeartbeat() {
@Override
public void heartbeat() {
@@ -662,6 +663,11 @@
data.setId(IdUtils.getUUId());
data.setTime_stamp(time);
+ //2023.10.18淇敼锛屼笂鎶id鍒楄〃澧炲姞parentOid
+ if (request!=null && !TextUtils.isEmpty(HDLLinkConfig.getInstance().getParentOid())) {
+ request.setParentOid(HDLLinkConfig.getInstance().getParentOid());
+ }
+
List<ListUploadRequest> list = new ArrayList<>();
list.add(request);
@@ -701,8 +707,8 @@
/**
* 涓婃姤Sid鍒楄〃
*
- * @param requestList sid鍒楄〃
- * @param callBack 鍥炶皟
+ * @param requestList sid鍒楄〃
+ * @param callBack 鍥炶皟
*/
public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
@@ -949,14 +955,13 @@
// String replyTopic = topic + "_reply";
try {
- sendMsg(message.getSendBytes(), topic, callBack, new SendListener() {
+ sendMsg(message.getSendBytes(), topic, null, new SendListener() {
@Override
public void onSucceed() {
+ HDLLinkConfig.getInstance().clearConfig();
if (callBack == null) return;
try {
callBack.onSuccess("閫�缃戞垚鍔�");
- HDLLinkConfig.getInstance().clearConfig();
-
} catch (Exception e) {
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
}
@@ -995,7 +1000,11 @@
public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
try {
LinkRequest message = new LinkRequest(topic, bodyStr);
+ if (topic != null && topic.endsWith("_reply")) {
+ callBack = null;
+ }
String replyTopic = topic + "_reply";
+ HDLLinkCallBack finalCallBack = callBack;
sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
@Override
public void onSucceed() {
@@ -1004,8 +1013,8 @@
@Override
public void onError() {
- if (callBack != null) {
- callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ if (finalCallBack != null) {
+ finalCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
}
}
});
@@ -1116,8 +1125,9 @@
/**
* 鍥炲缃戝叧閰嶇疆鍛戒护
+ *
* @param mac_Oid_GatewayId
- * @param msgId 娑堟伅Id
+ * @param msgId 娑堟伅Id
* @param callBack
*/
public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) {
@@ -1135,7 +1145,6 @@
String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId);
LinkRequest message = new LinkRequest(topic,
GsonConvert.getGson().toJson(data));
-
try {
--
Gitblit v1.8.0