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/socket/HDLAuthSocket.java | 65 ++++++++++++++++++++------------
1 files changed, 41 insertions(+), 24 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 c124267..a0dd4ba 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
@@ -178,30 +178,39 @@
String requestStr = gs.toJson(request);
LinkRequest message = new LinkRequest(topic, requestStr);
- HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
@Override
public void onSucceed(Object msg) {
if (callBack == null) return;
try {
AuthenticateResponse bean = getAuthenticateResponseBean(msg);
if (bean != null) {
- String localSecret = "";
- String gatewayId = "";
- String ipAddress = "";
- if (bean.getAuth() != null) {
- localSecret = bean.getAuth().getLocalSecret();
- }
- if (bean.getObjects() != null) {
- gatewayId = bean.getObjects().getGatewayID();
- ipAddress = bean.getObjects().getIPAddress();
- }
- //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔�
- if (TextUtils.isEmpty(localSecret) || TextUtils.isEmpty(gatewayId)) {
- //璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔�
- callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED));
- } else {
- HDLLinkConfig.getInstance().saveConfig(localSecret, gatewayId, ipAddress);
- callBack.onSuccess("璁よ瘉鎴愬姛");
+ if (bean.getCode().equals("200")) {
+ String localSecret = "";
+ String gatewayId = "";
+ String ipAddress = "";
+ if (bean.getAuth() != null) {
+ localSecret = bean.getAuth().getLocalSecret();
+ }
+ if (bean.getObjects() != null) {
+ gatewayId = bean.getObjects().getGatewayID();
+ ipAddress = bean.getObjects().getIPAddress();
+ }
+ //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔�
+ if (TextUtils.isEmpty(localSecret) || TextUtils.isEmpty(gatewayId)) {
+ //璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔�
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED));
+ } else {
+ HDLLinkConfig.getInstance().saveConfig(localSecret, gatewayId, ipAddress);
+ callBack.onSuccess("璁よ瘉鎴愬姛");
+ }
+ } else if (bean.getCode().equals("14013")){
+ //璁よ瘉澶辫触锛岃MAC瀵瑰簲鐨勮澶囧瘑閽ヤ笉瀛樺湪
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_MAC_KEY_ERROR_));
+ } else{
+ //璁よ瘉澶辫触锛岄敊璇爜锛�
+ LogUtils.e("璁よ瘉澶辫触锛岄敊璇爜锛�" + bean.getCode());
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR));
}
} else {
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
@@ -328,7 +337,7 @@
GsonConvert.getGson().toJson(data));
String ip = IpUtils.getBroadcastAddress();
- HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
@Override
public void onSucceed(Object msg) {
if (callBack == null) return;
@@ -350,9 +359,10 @@
*
* @param topic 鍙戦�佹暟鎹�
* @param bodyStr 鍥炲鐨勪富棰�
+ * @param broadcast 鏄惁瑕佸箍鎾�
* @param callBack 鍥炶皟
*/
- public void udpSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) {
+ public void udpSendMsg(String topic, String bodyStr,boolean broadcast, HDLLinkResponseCallBack callBack) {
if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
@@ -369,7 +379,10 @@
LinkRequest message = new LinkRequest(topic, bodyStr);
String ip = HDLLinkConfig.getInstance().getIpAddress();
- HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
+ if(broadcast) {
+ ip = IpUtils.getBroadcastAddress();
+ }
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
@Override
public void onSucceed(Object msg) {
if (callBack == null) return;
@@ -390,8 +403,9 @@
*
* @param topic 鍙戦�佹暟鎹�
* @param bodyStr 鍥炲鐨勪富棰�
+ * @param broadcast 鏄惁骞挎挱
*/
- public void udpSendMsg(String topic, String bodyStr) {
+ public void udpSendMsg(String topic, String bodyStr,boolean broadcast) {
if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
LogUtils.e("udpSendMsg", "鍙傛暟涓嶈兘涓虹┖");
return;
@@ -401,8 +415,11 @@
return;
}
LinkRequest message = new LinkRequest(topic, bodyStr);
- String ip = HDLLinkConfig.getInstance().getIpAddress();// IpUtils.getBroadcastAddress();
- getUdpBoot().sendMsg(ip, UDP_PORT, message.getSendBytes());
+ String ip = HDLLinkConfig.getInstance().getIpAddress();
+ if(broadcast) {
+ ip = IpUtils.getBroadcastAddress();
+ }
+ HdlSocketHelper.sendUdpOne(getUdpBoot(), ip, UDP_PORT, message);
}
private GatewaySearchBean getGatewaySearchBean(Object msg) {
--
Gitblit v1.8.0