From c65c2c0bce62473fc3a2e1f9b2f5621214c2300b Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期三, 31 八月 2022 09:27:37 +0800 Subject: [PATCH] tcp去除重发 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 58 insertions(+), 11 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 7458c14..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,5 +1,7 @@ package com.hdl.sdk.connect; +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.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; @@ -11,6 +13,7 @@ import com.hdl.sdk.connect.socket.HDLSocket; import java.util.List; +import java.util.concurrent.TimeUnit; /** * Created by jlchen on 11/15/21. @@ -21,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; } @@ -71,6 +74,7 @@ * @param callBack 缁撴灉鍥炶皟 */ public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) { + LogUtils.i("鍙戦�佽璇佽姹�"); HDLAuthSocket.getInstance().startAuthenticateRequest(request,callBack); } @@ -177,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); } /** @@ -196,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