hxb
2024-08-20 0a8fd4aa92555875f58f67144c2c0c0a20a200af
增加版本通过配置读取
1个文件已删除
5个文件已修改
76 ■■■■ 已修改文件
HDLSDK/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/TcpClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK_DEMO.rar 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/build.gradle
@@ -5,7 +5,7 @@
        google()
        jcenter()
        mavenCentral()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url = uri("https://plugins.gradle.org/m2/") }
        maven {
            url "https://jitpack.io"
@@ -24,7 +24,7 @@
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url = uri("https://plugins.gradle.org/m2/") }
        google()
        jcenter()
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java
@@ -1,6 +1,7 @@
package com.hdl.sdk.common;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.text.TextUtils;
import android.util.Log;
@@ -32,10 +33,17 @@
     * @return
     */
    public String getVersion() {
        return version;
        try {
            PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
            String versionName = packageInfo.versionName; // 版本名称(字符串)
            return versionName;
        } catch (Exception e) {
            LogUtils.e("获取版本失败:" + e.getMessage());
        }
        return "unknow";
    }
    private String version = "1.1.7";
//    private String version = "1.1.7";
    private HDLSdk() {
    }
@@ -55,7 +63,7 @@
        this.context = context.getApplicationContext();
        HDLAuthSocket.getInstance().init();
        HDLSocket.getInstance().broadcastRequest();
        LogUtils.i("HDLSdk Version:" + version);
        LogUtils.i("HDLSdk Version:" + getVersion());
        //订阅所有的主题
        HDLLink.getInstance().registerAllTopicsListener(new EventListener() {
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -557,6 +557,51 @@
    }
    /**
     * 通用发送指令
     * 发送一次
     *
     * @param topic     发送数据
     * @param bodyStr   回复的主题
     * @param broadcast 是否要广播
     * @param callBack  回调
     */
    public void udpSendMsgOneTime(String topic, String bodyStr, boolean broadcast, HDLLinkResponseCallBack callBack) {
        if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
            if (callBack != null) {
                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
            }
            return;
        }
        if (!HDLLinkConfig.getInstance().checkIfCertified()) {
            if (callBack != null) {
                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
            }
            return;
        }
        LinkRequest message = new LinkRequest(topic, bodyStr);
        String ip = HDLLinkConfig.getInstance().getIpAddress();
        if (broadcast) {
            ip = IpUtils.getBroadcastAddress();
        }
        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message,"", 1, new HdlSocketHelper.HdlSocketListener() {
                    @Override
                    public void onSucceed(Object msg) {
                        if (callBack == null) return;
                        callBack.onSuccess((LinkResponse) msg);
                    }
                    @Override
                    public void onFailure() {
                        if (callBack == null) return;
                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_TIMEOUT_ERROR));
                    }
                }
        );
    }
    /**
     * 通用发送指令 只发一次,不监听回复,不重发
     *
     * @param topic     发送数据
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -109,7 +109,7 @@
            public void run() {
                while (true) {
                    try {
                        Thread.sleep(1000);
                        Thread.sleep(5000);
//                        LogUtils.i("checkIfCertified=" + HDLLink.getInstance().checkIfCertified() + " getTcp().connected=" + getTcp().connected);
                        try {
                            if (!HDLLink.getInstance().checkIfCertified() || (!TextUtils.isEmpty(getTcpIp()) && getTcp().connected)) {
@@ -473,14 +473,15 @@
        }
    }
    public SocketBoot getTcp() throws RuntimeException {
        if (TextUtils.isEmpty(getTcpIp())) {
    public synchronized SocketBoot  getTcp() throws RuntimeException {
        String gatewayIpAddress=getTcpIp();
        if (TextUtils.isEmpty(gatewayIpAddress)) {
            LogUtils.e("请搜索网关");
            throw new RuntimeException("请搜索网关");
        }
        //如果没有初始化,或者网关IP更改了,就重新初始化
        if (tcpBoot == null || !getTcpOptions().getIp().equals(getTcpIp())) {
            tcpBoot = TcpClient.init(getTcpIp(), getTcpPort(), getTcpOptions());
        if (tcpBoot == null || !getTcpOptions().getIp().equals(gatewayIpAddress)) {
            tcpBoot = TcpClient.init(gatewayIpAddress, getTcpPort(), getTcpOptions());
            tcpBoot.SetHeartbeat(new IHeartbeat() {
                @Override
                public void heartbeat() {
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/TcpClient.java
@@ -109,7 +109,7 @@
        final InputStream stream = getInputStream();
        if (stream != null && getOptions() != null) {
            while ( true) {
                int len=getInputStream().read(readBuffer);
                int len=stream.read(readBuffer);
                if(len<=0){
                    throw  new Exception("接收异常,接收数据长度len="+len);
                }
HDLSDK_DEMO.rar
Binary files differ