From 27a0768b0e0a042911b7f299fcc599d2da4e7fc0 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期一, 13 十二月 2021 10:36:52 +0800 Subject: [PATCH] 更改了udp测试后版本 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 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 c823c46..1148624 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; @@ -70,8 +71,8 @@ private volatile static HDLAuthSocket instance; private HDLAuthSocket() { - initSearchGatewayEvent(); initListenerGatewayEvent(); + initSearchGatewayEvent(); } // public interface CallBack extends BaseCallBack { @@ -88,8 +89,6 @@ synchronized (HDLLinkConfig.class) { if (instance == null) { instance = new HDLAuthSocket(); - //1.鍚姩Socket 寮�鍚洃鍚� - instance.getUdpBoot(); } } } @@ -131,6 +130,8 @@ */ public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) { HDLLinkConfig.getInstance().clearConfig(); + //1.鍚姩Socket 寮�鍚洃鍚� + getUdpBoot(); //2.鏋勫缓鐩戝惉Listener // authEvent = //3.鐩戝惉缃戝叧骞挎挱鐨勫叆缃戞寚浠� @@ -176,7 +177,7 @@ String requestStr = gs.toJson(request); LinkRequest message = new LinkRequest(topic, requestStr); - HdlSocketHelper.send(getUdpBoot(), InetSocketAddress.createUnresolved(ip,UDP_PORT), message, new HdlSocketHelper.HdlSocketListener() { + HdlSocketHelper.send(getUdpBoot(), ip,UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { if (callBack == null) return; @@ -292,7 +293,7 @@ * @param callBack 鍥炶皟 */ public void searchGatewayMulticast(SearchGatewayCallBack callBack) { - searchGateway(HDLLinkConfig.getInstance().getGatewayId(), InetSocketAddress.createUnresolved(UDP_GROUP_IP,UDP_PORT), callBack); + searchGateway(HDLLinkConfig.getInstance().getGatewayId(), UDP_GROUP_IP,UDP_PORT, callBack); } /** @@ -302,7 +303,7 @@ */ public void searchGatewayBroadcast(SearchGatewayCallBack callBack) { String ip = IpUtils.getBroadcastAddress(); - searchGateway(HDLLinkConfig.getInstance().getGatewayId(), InetSocketAddress.createUnresolved(ip,UDP_PORT), callBack); + searchGateway(HDLLinkConfig.getInstance().getGatewayId(), ip,UDP_PORT, callBack); } @@ -320,7 +321,7 @@ GsonConvert.getGson().toJson(data)); String ip = IpUtils.getBroadcastAddress(); - HdlSocketHelper.send(getUdpBoot(), InetSocketAddress.createUnresolved(ip,UDP_PORT), message, new HdlSocketHelper.HdlSocketListener() { + HdlSocketHelper.send(getUdpBoot(), ip,UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { if (callBack == null) return; @@ -352,8 +353,8 @@ return; } LinkRequest message = new LinkRequest(topic, bodyStr); - String ip = IpUtils.getBroadcastAddress(); - HdlSocketHelper.send(getUdpBoot(), InetSocketAddress.createUnresolved(ip,UDP_PORT), message, new HdlSocketHelper.HdlSocketListener() { + String ip = HDLLinkConfig.getInstance().getIpAddress(); + HdlSocketHelper.send(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { if (callBack == null) return; @@ -381,8 +382,8 @@ return; } LinkRequest message = new LinkRequest(topic, bodyStr); - String ip = IpUtils.getBroadcastAddress(); - getUdpBoot().sendMsg( InetSocketAddress.createUnresolved(ip,UDP_PORT),message.getSendBytes()); + String ip = HDLLinkConfig.getInstance().getIpAddress();// IpUtils.getBroadcastAddress(); + getUdpBoot().sendMsg( ip,UDP_PORT,message.getSendBytes()); } private GatewaySearchBean getGatewaySearchBean(Object msg) { @@ -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(); } } } @@ -508,10 +513,11 @@ * 鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄 * * @param gatewayId 缃戝叧id - * @param desInetSocketAddress 鐩爣鐨勫湴鍧� + * @param ipAddress 鐩爣鐨処P鍦板潃 + * @param port 鐩爣鐨勭鍙� * @param callBack 鍥炶皟 */ - public void searchGateway(String gatewayId, InetSocketAddress desInetSocketAddress, SearchGatewayCallBack callBack) { + public void searchGateway(String gatewayId, String ipAddress,int port, SearchGatewayCallBack callBack) { this.searchGatewayId = gatewayId; this.mSearchGatewayCallBack = callBack; //閲嶇疆鍙傛暟 @@ -533,7 +539,7 @@ //鎼滅储缃戝叧 searchGatewayCount.set(searchGatewayCount.get() + 1); LogUtils.i("鎼滅储缃戝叧", "鎼滅储缃戝叧绗�" + searchGatewayCount.get() + "娆�"); - getUdpBoot().sendMsg(desInetSocketAddress,message.getSendBytes()); + getUdpBoot().sendMsg(ipAddress, port, message.getSendBytes()); Thread.sleep(1000L); } catch (InterruptedException e) { e.printStackTrace(); @@ -543,11 +549,10 @@ if (!isSearchGatewaySuccess.get()) { //鎼滅储10娆★紝鎸囧畾缃戝叧閮芥病鍥炲锛屽洖璋冭秴鏃� callBackSearchGatewayTimeout(); - LogUtils.e("鎼滅储缃戝叧--", "鎼滅储10娆★紝鎸囧畾缃戝叧閮芥病鍥炲锛屽洖璋冭秴鏃�"); + LogUtils.e("鎼滅储缃戝叧", "鎼滅储10娆★紝鎸囧畾缃戝叧閮芥病鍥炲锛屽洖璋冭秴鏃�"); } } }).start(); - } /** -- Gitblit v1.8.0