From fdcf461fbfa3bcd650685743e891ad3357898f0c Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期四, 31 八月 2023 17:36:50 +0800 Subject: [PATCH] 更新sdk --- HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java | 45 +++++++++++++++++++++++---------------------- 1 files changed, 23 insertions(+), 22 deletions(-) diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java index 92f8f84..3f45e3a 100644 --- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java +++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java @@ -1,13 +1,7 @@ package com.hdl.sdk.socket; import android.text.TextUtils; -import android.util.Log; -import androidx.collection.ArrayMap; - -import com.google.gson.JsonObject; -import com.hdl.sdk.common.config.TopicConstant; -import com.hdl.sdk.common.utils.IdUtils; import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.socket.annotation.ConnectStatus; @@ -15,15 +9,11 @@ import com.hdl.sdk.socket.client.IHeartbeat; import com.hdl.sdk.socket.listener.SendListener; -import java.net.ConnectException; -import java.util.Date; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; /** * Created by Tong on 2021/9/26. @@ -38,18 +28,20 @@ private final IClient client; private IHeartbeat iHeartbeat; - public void SetHeartbeat(IHeartbeat iHeartbeat){ - this.iHeartbeat=iHeartbeat; + + public void SetHeartbeat(IHeartbeat iHeartbeat) { + this.iHeartbeat = iHeartbeat; } + /** * 褰撳墠鎺ユ敹鍒版暟鎹殑鏃堕棿 */ - private static long time=System.currentTimeMillis(); + private static long time = System.currentTimeMillis(); /** * tcp鏄惁宸茬粡杩炴帴 */ - private boolean connected=false; + private boolean connected = false; public IClient getClient() { return client; @@ -57,7 +49,7 @@ private final BlockingQueue<SocketRequest> mMessageQueue = new LinkedBlockingDeque<>(); - private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>(); + private final ConcurrentMap<String, SendListener> sendMap = new ConcurrentHashMap<>(); public SocketBoot(IClient client) { this.client = client; @@ -76,11 +68,11 @@ client.onConnectStatus(ConnectStatus.CONNECTING); Thread.sleep(1000); client.connect(); - connected=true; + connected = true; LogUtils.i("TCP杩炴帴鎴愬姛"); client.onConnectStatus(ConnectStatus.CONNECTED); - }catch(Exception e) { - LogUtils.e("杩炴帴寮傚父"+e.getMessage()); + } catch (Exception e) { + LogUtils.e("杩炴帴寮傚父" + e.getMessage()); } } @@ -96,11 +88,19 @@ public void run() { while (true) { try { + if (!connected) { + Thread.sleep(200); + continue; + } SocketRequest socketRequest = mMessageQueue.take(); // final String sendStr = new String(socketRequest.getData(), 0, socketRequest.getData().length); // LogUtils.i("鍙戦�佹暟鎹細" + sendStr); + if (System.currentTimeMillis() - socketRequest.getTime() > 5000) { + continue; + } final String action = socketRequest.getAction(); try { + client.sendMsg(socketRequest.getData()); if (!TextUtils.isEmpty(action)) { SendListener sendListener = sendMap.get(action); @@ -141,7 +141,7 @@ if (connected) { //璇诲彇鏁版嵁 client.onHandleResponse(); - time= System.currentTimeMillis(); + time = System.currentTimeMillis(); } else { try { Thread.sleep(1000); @@ -174,7 +174,7 @@ if (!connected) { reconect(); } - Thread.sleep(3*1000); + Thread.sleep(3 * 1000); } catch (Exception e) { LogUtils.e("瀹氭椂杩炴帴澶辫触:" + e.getMessage()); } @@ -223,6 +223,7 @@ /** * 鍙戦�佹棤闇�鍥炶皟 + * * @param msg 鍙戦�佺殑鏁版嵁 */ public void sendMsg(byte[] msg) { -- Gitblit v1.8.0