From 93f13e7b2e046c6d86d10e7abc2ecaa4c4adabc3 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 21 十二月 2021 11:47:38 +0800 Subject: [PATCH] 完善tcp --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java | 43 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 38 insertions(+), 5 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 a212728..49c705a 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 @@ -4,6 +4,7 @@ import com.hdl.sdk.common.config.TopicConstant; import com.hdl.sdk.common.utils.SPUtils; +import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.bean.response.GatewaySearchBean; @@ -24,10 +25,13 @@ private boolean isLocalEncrypt;//缃戝叧鏄惁闇�瑕佸姞瀵嗛�氳 private GatewaySearchBean currentGateway;//褰撳墠缃戝叧 + private AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean;//褰撳墠璁惧鍩烘湰淇℃伅 + /** * instance */ private volatile static HDLLinkConfig instance; + /** * getInstance * @@ -62,15 +66,16 @@ /** * 鍔犺浇缂撳瓨 */ - void loadConfig(){ + void loadConfig() { localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, ""); gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, ""); ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, ""); - isLocalEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_LS_KEY,false); + isLocalEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_LS_KEY, false); } /** * 淇濆瓨閰嶇疆 + * * @param localSecret * @param gatewayId * @param ipAddress @@ -85,10 +90,18 @@ } /** + * 閲嶆柊淇濆瓨 + */ + public void reSaveConfig() { + this.saveConfig(this.localSecret, this.gatewayId, this.ipAddress); + } + + /** * 妫�娴嬫槸鍚﹀凡缁忚璇佽繃 + * * @return */ - public boolean checkIfCertified(){ + public boolean checkIfCertified() { //localSecret涓嶄负绌哄苟涓旈暱搴︾瓑浜�16 缃戝叧id涓嶈兘涓虹┖ return !TextUtils.isEmpty(localSecret) && localSecret.length() == 16 @@ -111,6 +124,9 @@ public String getIpAddress() { return ipAddress; } + public void setIpAddress(String ipAddress){ + this.ipAddress = ipAddress; + } public boolean isLocalEncrypt() { return isLocalEncrypt; @@ -127,29 +143,46 @@ public void setCurrentGateway(GatewaySearchBean currentGateway) { this.currentGateway = currentGateway; + if (this.currentGateway != null && !TextUtils.isEmpty(this.currentGateway.getIp_address())) { + if (!this.ipAddress.equals(this.currentGateway.getIp_address())) { + //濡傛灉IP鍦板潃鏈夊彉鍖栧垯鏇存柊 + this.ipAddress = this.currentGateway.getIp_address(); + SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress); + } + } } /** * 鍒ゆ柇褰撳墠涓婚鏁版嵁鏄惁闇�瑕佸姞瀵� + * * @param topicStr 褰撳墠涓婚 * @return */ - public boolean ifNeedEncrypt(String topicStr){ + public boolean ifNeedEncrypt(String topicStr) { //杩囨护鐩稿叧闇�瑕佸姞瀵嗙殑涓婚 return (!topicStr.contains(TopicConstant.GATEWAY_AUTH_BROADCAST) //缃戝叧骞挎挱鍏ョ綉鎸囦护 && !topicStr.contains(TopicConstant.DEIVCE_AUTH_REQUEST) //鍏ョ綉璁よ瘉 && !topicStr.contains(TopicConstant.GATEWAY_SEARCH) //鎼滅储缃戝叧涓婚 + && !topicStr.equals(TopicConstant.BROADCAST) && isLocalEncrypt//鍚敤鍔犲瘑鏍囧織 ); } /** * 鎷兼帴缃戝叧ID鑾峰彇瀹屾暣鐨勪富棰� + * * @param topicStr * @return */ - public String getFullTopic(String topicStr){ + public String getFullTopic(String topicStr) { return String.format(topicStr, gatewayId); } + public AuthenticateRequest.AuthenticateDeviceInfoBean getDeviceInfoBean() { + return deviceInfoBean; + } + + public void setDeviceInfoBean(AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean) { + this.deviceInfoBean = deviceInfoBean; + } } -- Gitblit v1.8.0