From 17b81245f31d032d5eed69c190e42edb1949f46b Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 12 四月 2022 16:37:39 +0800 Subject: [PATCH] 修复接听后闪退的问题 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 73 +++++++++++++++++++++++++++++------- 1 files changed, 58 insertions(+), 15 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java index 36ac8c9..e5e993b 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java @@ -1,8 +1,8 @@ package com.hdl.sdk.connect; -import com.hdl.sdk.common.utils.IpUtils; +import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.connect.bean.request.DeviceControlRequest; -import com.hdl.sdk.connect.bean.request.PropertyReadRequest; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; import com.hdl.sdk.connect.config.HDLLinkConfig; @@ -11,10 +11,9 @@ import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.socket.HDLAuthSocket; import com.hdl.sdk.connect.socket.HDLSocket; -import com.hdl.sdk.connect.socket.HdlSocketHelper; -import com.hdl.sdk.socket.listener.SendListener; import java.util.List; +import java.util.concurrent.TimeUnit; /** * Created by jlchen on 11/15/21. @@ -25,20 +24,20 @@ /** * instance */ - private volatile static HDLLink instance; + private static final HDLLink instance=new HDLLink(); /** * getInstance * * @return HDLLink */ - public static synchronized HDLLink getInstance() { - if (instance == null) { - synchronized (HDLLink.class) { - if (instance == null) { - instance = new HDLLink(); - } - } - } + public static HDLLink getInstance() { +// if (instance == null) { +// synchronized (HDLLink.class) { +// if (instance == null) { +// instance = new HDLLink(); +// } +// } +// } return instance; } @@ -75,6 +74,7 @@ * @param callBack 缁撴灉鍥炶皟 */ public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) { + LogUtils.i("鍙戦�佽璇佽姹�"); HDLAuthSocket.getInstance().startAuthenticateRequest(request,callBack); } @@ -181,14 +181,25 @@ } /** - * 閫氱敤UDP骞挎挱鍙戦�佹寚浠� + * 閫氱敤UDP鍙戦�佹寚浠� * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆� * @param topic 鍙戦�佹暟鎹� * @param bodyStr body鍐呭 * @param callBack 鍥炶皟 */ public void udpSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) { - HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr, callBack); + HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,false, callBack); + } + + /** + * 閫氱敤骞挎挱UDP鍙戦�佹寚浠� + * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆� + * @param topic 鍙戦�佹暟鎹� + * @param bodyStr body鍐呭 + * @param callBack 鍥炶皟 + */ + public void udpBroadcastSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) { + HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,true, callBack); } /** @@ -200,6 +211,38 @@ * @param callBack 鍥炶皟 */ public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) { + HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢 HDLSocket.getInstance().tcpSendMsg(topic, bodyStr, callBack); } + + /** + * 閫氱敤鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� + * + * @param topic 鍙戦�佹暟鎹� + * @param bodyStr 鍥炲鐨勪富棰� + */ + public void udpSendMsg(String topic, String bodyStr) { + HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,false); + } + + /** + * 閫氱敤骞挎挱鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� + * + * @param topic 鍙戦�佹暟鎹� + * @param bodyStr 鍥炲鐨勪富棰� + */ + public void udpBroadcastSendMsg(String topic, String bodyStr) { + HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,true); + } + + /** + * 閫氱敤TCP鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� + * + * @param topic 鍙戦�佹暟鎹� + * @param bodyStr 鍥炲鐨勪富棰� + */ + public void tcpSendMsg(String topic, String bodyStr) { + HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢 + HDLSocket.getInstance().tcpSendMsg(topic, bodyStr); + } } -- Gitblit v1.8.0