562935844@qq.com
2022-05-13 a587dcd8b7a77de14a67356ea43a1f2a4633af44
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,7 @@
     * @param callBack 回调
     */
    public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
        HDLAuthSocket.getInstance();//通过这个可以先初始化UDP监听事件
        HDLSocket.getInstance().tcpSendMsg(topic, bodyStr, callBack);
    }
@@ -206,7 +222,17 @@
     * @param bodyStr  回复的主题
     */
    public void udpSendMsg(String topic, String bodyStr) {
        HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr);
        HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,false);
    }
    /**
     * 通用广播发送指令 只发一次,不监听回复,不重发
     *
     * @param topic    发送数据
     * @param bodyStr  回复的主题
     */
    public void udpBroadcastSendMsg(String topic, String bodyStr) {
        HDLAuthSocket.getInstance().udpSendMsg(topic, bodyStr,true);
    }
    /**
@@ -216,6 +242,7 @@
     * @param bodyStr  回复的主题
     */
    public void tcpSendMsg(String topic, String bodyStr) {
        HDLAuthSocket.getInstance();//通过这个可以先初始化UDP监听事件
        HDLSocket.getInstance().tcpSendMsg(topic, bodyStr);
    }
}