فهرست منبع

增加tcp数据长度,增加设备连接信息

weizhengliang 3 سال پیش
والد
کامیت
3687d9ae34

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/TcpClient.java

@@ -63,7 +63,7 @@ public class TcpClient {
                     protected void initChannel(SocketChannel socketChannel) throws Exception {
                         // 这里将LengthFieldBasedFrameDecoder添加到pipeline的首位,因为其需要对接收到的数据
                         // 进行长度字段解码,这里也会对数据进行粘包和拆包处理
-                        socketChannel.pipeline().addLast(new LengthFieldBasedFrameDecoder(1024, 0, 2, 0, 2));
+                        socketChannel.pipeline().addLast(new LengthFieldBasedFrameDecoder(2048, 0, 2, 0, 2));
                         // LengthFieldPrepender是一个编码器,主要是在响应字节数据前面添加字节长度字段
                         socketChannel.pipeline().addLast(new LengthFieldPrepender(2));
                         //心跳包应当小于服务器间隔

+ 11 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceUtil.java

@@ -1,5 +1,9 @@
 package com.wdkl.ncs.android.middleware.tcp.channel;
 
+import android.os.Build;
+
+import com.wdkl.ncs.android.middleware.BuildConfig;
+import com.wdkl.ncs.android.middleware.tcp.dto.DeviceConnectDTO;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
@@ -7,9 +11,15 @@ import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
 public class DeviceUtil {
     public static TcpModel deviceConnect(String mac){
         TcpModel tcpModel = new TcpModel();
+        DeviceConnectDTO connectDTO = new DeviceConnectDTO();
+        connectDTO.setIdentification(mac);
+        connectDTO.setHardware_version(Build.PRODUCT.toLowerCase());
+        connectDTO.setSoftware_version("V"+ BuildConfig.VERSION_NAME);
+        connectDTO.setModel(Build.MODEL);
+        connectDTO.setCode(Build.SERIAL);
         tcpModel.setType(TcpType.DEVICE);
         tcpModel.setAction(TcpAction.DeviceAction.CONNECT);
-        tcpModel.setData(mac);
+        tcpModel.setData(connectDTO);
         return tcpModel;
     }
 

+ 73 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/dto/DeviceConnectDTO.java

@@ -0,0 +1,73 @@
+package com.wdkl.ncs.android.middleware.tcp.dto;
+
+import java.io.Serializable;
+
+/**
+ * @author wuyunfeng
+ * 2021-12-07 16:29
+ */
+public class DeviceConnectDTO implements Serializable {
+
+    /**设备唯一标识 */
+    private String identification;
+
+    /**
+     * 软件版本,客户端运行的app 版本号
+     */
+    private String software_version;
+
+    /**
+     * 固件版本号
+     */
+    private String hardware_version;
+
+    /**
+     * 设备型号
+     */
+    private String model;
+
+    /**
+     * 设备序列号
+     */
+    private String code;
+
+    public String getIdentification() {
+        return identification;
+    }
+
+    public void setIdentification(String identification) {
+        this.identification = identification;
+    }
+
+    public String getSoftware_version() {
+        return software_version;
+    }
+
+    public void setSoftware_version(String software_version) {
+        this.software_version = software_version;
+    }
+
+    public String getHardware_version() {
+        return hardware_version;
+    }
+
+    public void setHardware_version(String hardware_version) {
+        this.hardware_version = hardware_version;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}