562935844@qq.com
2022-05-13 a3f9e5ce8dce3d86a60a79b85ce44424a612c6fa
HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
@@ -1,29 +1,18 @@
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.TextUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.socket.annotation.ConnectStatus;
import com.hdl.sdk.socket.client.IClient;
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.HashMap;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
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.
@@ -57,7 +46,7 @@
    private final BlockingQueue<SocketRequest> mMessageQueue = new LinkedBlockingDeque<>();
    private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>();
    private final Map<String, SendListener> sendMap = new HashMap<>();
    public SocketBoot(IClient client) {
        this.client = client;
@@ -74,9 +63,10 @@
        try {
            LogUtils.i("TCP连接");
            client.onConnectStatus(ConnectStatus.CONNECTING);
            Thread.sleep(700);
            Thread.sleep(1000);
            client.connect();
            connected=true;
            LogUtils.i("TCP连接成功");
            client.onConnectStatus(ConnectStatus.CONNECTED);
        }catch(Exception e) {
            LogUtils.e("连接异常"+e.getMessage());
@@ -175,7 +165,7 @@
                            }
                            Thread.sleep(3*1000);
                        } catch (Exception e) {
                            LogUtils.e("定时连接失败:" + e.getMessage());
                        }
                    }
                }
@@ -198,15 +188,12 @@
                            if (connected && 10 * 1000 < (System.currentTimeMillis() - time)) {
                                time = System.currentTimeMillis();
                                //心跳检测
                                try {
                                    if (iHeartbeat != null)
                                        iHeartbeat.heartbeat();
                                } catch (Exception e) {
                                }
                                if (iHeartbeat != null)
                                    iHeartbeat.heartbeat();
                            }
                            Thread.sleep(1000);
                        } catch (Exception e) {
                            LogUtils.e("定时心跳检测网关异常:" + e.getMessage());
                        }
                    }
                }
@@ -243,7 +230,7 @@
            }
            mMessageQueue.put(request);
        } catch (Exception e) {
            LogUtils.e("发送数据失败:" + e.getMessage());
        }
    }