hxb
2021-12-13 ca5001d8800e80ffe226a05e5228802bef159337
HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
@@ -34,6 +34,10 @@
    private final IClient client;
    public IClient getClient() {
        return client;
    }
    /**
     * socket是否在运行
     */
@@ -127,12 +131,10 @@
            public void run() {
                while (isRun.get()) {
                    if (client.isConnect()) {
                        LogUtils.d("=====", "==发送数据==");
                        try {
                            SocketRequest socketRequest = mMessageQueue.take();
                            final String sendStr = new String(socketRequest.getData(), 0, socketRequest.getData().length);
                            LogUtils.d("=====", "==发送数据==:"+sendStr);
                            LogUtils.i("发送数据:"+sendStr);
                            final String action = socketRequest.getAction();
                            try {
                                client.sendMsg(socketRequest.getData());
@@ -172,28 +174,30 @@
    }
    /**
     * 初始化接收线程,只需要初始化一次
     */
    public void initReceiveThread() {
        if (receiveThread == null) {
            receiveThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
        }
        receiveThread.execute(new Runnable() {
            @Override
            public void run() {
                while (isRun.get()) {
                    if (client.isConnect()) {
                        try {
                            //读取数据
                            client.onHandleResponse();
                        } catch (Exception e) {
                            e.printStackTrace();
                            LogUtils.d("====", "断开连接" + e.getMessage());
                            disconnectError();
            receiveThread.execute(new Runnable() {
                @Override
                public void run() {
                    while (isRun.get()) {
                        if (client.isConnect()) {
                            try {
                                //读取数据
                                client.onHandleResponse();
                            } catch (Exception e) {
                                e.printStackTrace();
                                disconnectError();
                            }
                        }
                    }
                    LogUtils.i("Socket 线程退出接收数据");
                }
            }
        });
            });
        }
    }
@@ -209,7 +213,7 @@
            @Override
            public void run() {
                if (isRun.get()) {
                    LogUtils.d("====", "===发送心跳包===");
//                    LogUtils.d("====", "===发送心跳包===");
                    if (client.getOptions() != null) {
                        final byte[] heartBeat = client.getOptions().getHeartbeatData();
                        if (heartBeat != null) {
@@ -258,7 +262,6 @@
        if (!client.isConnect()) {
            resetConnect(false);
        }
    }
    /**
@@ -278,7 +281,6 @@
                    if (!client.isConnect() && isOpenRetry.get()) {
                        resetConnect(false);
                    }
                }
            }, 3000, TimeUnit.MILLISECONDS);
        }