From 3b47201d878ba8ff973b84baf15942475688e964 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期五, 15 十二月 2023 16:04:28 +0800 Subject: [PATCH] 合并第一个版本 --- HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java index 6c5a295..09cc1e0 100644 --- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java +++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java @@ -7,6 +7,7 @@ import com.hdl.sdk.link.common.utils.LogUtils; import com.hdl.sdk.link.core.bean.LinkPacket; +import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.eventbus.EventBindMiniRemoteSuccessInfo; import com.hdl.sdk.link.core.bean.eventbus.EventNotifyRefreshGatewayAesKeyInfo; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; @@ -149,16 +150,16 @@ connOpts.setCleanSession(true); connOpts.setKeepAliveInterval(10); connOpts.setAutomaticReconnect(true); - connOpts.setConnectionTimeout(10); + connOpts.setConnectionTimeout(60); connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1_1); sampleClient.setCallback(new MqttCallbackExtended() { public void connectComplete(boolean reconnect, String serverURI) { - LogUtils.d(TAG, "mqtt杩炴帴鎴愬姛"); + LogUtils.d(TAG, "connect success"); checkAndsubscribeAllTopics(""); } public void connectionLost(Throwable throwable) { - LogUtils.d(TAG, "mqtt杩炴帴鏂紑"); + LogUtils.d(TAG, "杩炴帴鏂紑"); lastTopicFilters.clear(); } @@ -208,6 +209,11 @@ return; } LogUtils.d(TAG, "缃戝叧閲嶈繛mqtt绉橀挜鏇存柊閫氱煡->" + topic); + + BaseEventBus baseEventBus=new BaseEventBus(); + baseEventBus.setTopic(topic); + EventBus.getDefault().post(baseEventBus); + EventNotifyRefreshGatewayAesKeyInfo eventNotifyRefreshGatewayAesKeyInfo = new EventNotifyRefreshGatewayAesKeyInfo(); eventNotifyRefreshGatewayAesKeyInfo.setGatewayId(topics[2]); EventBus.getDefault().post(eventNotifyRefreshGatewayAesKeyInfo); @@ -224,8 +230,9 @@ GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(cloudsGatewayId); if (cloudsGatewayId.equals(HDLLinkConfig.getInstance().getHomeId())) { aes = getHomeAES(); - } else if (gatewayBean != null && HDLConnectHelper.getGatewayTypeList().contains(gatewayBean.getGatewayType())) { - //閫嗗彉鍣╩qtt涓撶敤绉橀挜 + } + else if (gatewayBean != null && HDLConnectHelper.getGatewayTypeList().contains(gatewayBean.getGatewayType())) { + //姣背娉qtt涓撶敤绉橀挜銆侀�嗗彉鍣╩qtt涓撶敤绉橀挜 aes = gatewayBean.getAesKey(); } else { aes = HDLLinkConfig.getInstance().getAesKey(); @@ -283,7 +290,10 @@ * @param sendTopic 璇锋眰涓婚 */ public synchronized void checkAndsubscribeAllTopics(String sendTopic) { - if (null != sampleClient && !sampleClient.isConnected()) { + if (null == sampleClient) { + return; + } + if (null != sampleClient && sampleClient.isConnected() == false) { return; } try { @@ -384,6 +394,9 @@ * 鍒囨崲浣忓畢鐨勬椂鍊欒闃呰鍏ㄩ儴鍙栨秷 */ public void removeAllTopic() { + if (null == sampleClient) { + return; + } if (null != sampleClient && sampleClient.isConnected() == false) { return; } -- Gitblit v1.8.0