Commit 420a2e6de6d71126448948569d7ccce0256cd8be

Authored by dy
1 parent 72aa034d
Exists in develop

fix: lte3000编解码器修改

src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java
... ... @@ -10,16 +10,23 @@ import org.apache.mina.core.service.IoHandlerAdapter;
10 10 import org.apache.mina.core.session.IdleStatus;
11 11 import org.apache.mina.core.session.IoSession;
12 12  
13   -import java.io.UnsupportedEncodingException;
14 13 import java.nio.charset.StandardCharsets;
15 14  
  15 +/**
  16 + * @author dy
  17 + */
16 18 @Data
17   -public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter {
  19 +public abstract class AbstractVirtualBoxClientHandler<RECEIVE extends BaseReceiveMessage>
  20 + extends IoHandlerAdapter {
18 21  
19 22 protected AbstractClientMessage clientMessage;
20 23  
21 24 protected AbstractHardwareDataBuffer hardwareDataBuffer;
22 25  
  26 + private SendMessage sendMessage = new SendMessage();
  27 +
  28 + private BaseReceiveMessage receiveMessage;
  29 +
23 30 public AbstractVirtualBoxClientHandler(AbstractClientMessage clientMessage,
24 31 AbstractHardwareDataBuffer abstractHardwareDataBuffer) {
25 32 this.clientMessage = clientMessage;
... ... @@ -34,17 +41,22 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter {
34 41  
35 42 @Override
36 43 public void messageReceived(IoSession session, Object message) {
37   - //handleCommandResponse(clientMessage.getCommands().get(1).getBytes(), (byte[]) message, ((byte[]) message).length);
  44 + if (message instanceof BaseReceiveMessage) {
  45 + receiveMessage = (RECEIVE) message;
  46 + }
  47 + handleCommandResponse(sendMessage, receiveMessage);
38 48 System.out.println("客户端messageReceived被调用!");
39   - System.out.println("client端接收信息:" + new String((byte[])message, StandardCharsets.UTF_8));
40   - LogUtils.println("client端接收信息hex:",(byte[])message);
  49 +
  50 + System.out.println("client端接收信息:" + new String(receiveMessage.getReceiveMessage(), StandardCharsets.UTF_8));
  51 + LogUtils.println("client端接收信息hex:" + receiveMessage.getReceiveMessage());
41 52 }
42 53  
43 54 @Override
44 55 public void messageSent(IoSession session, Object message) {
45 56 System.out.println("客户端messageSent被调用!");
46   - System.out.println("client端发送信息:" + new String((byte[])message, StandardCharsets.UTF_8));
47   - LogUtils.println("client端发送信息hex:",(byte[])message);
  57 + System.out.println("client端发送信息:" + new String((byte[]) message, StandardCharsets.UTF_8));
  58 + LogUtils.println("client端发送信息hex:", (byte[]) message);
  59 + this.sendMessage = SendMessage.builder().sendMessage((byte[]) message).build();
48 60 }
49 61  
50 62 @Override
... ... @@ -89,6 +101,6 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter {
89 101 session.write(command.getBytes());
90 102 }
91 103  
92   - protected abstract boolean handleCommandResponse(byte[] cmd, byte[] response, int responseLen);
  104 + protected abstract boolean handleCommandResponse(SendMessage sendMessage, BaseReceiveMessage receiveMessage);
93 105  
94 106 }
... ...
src/main/java/com/example/mina/client/base/BaseReceiveMessage.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package com.example.mina.client.base;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Data;
  5 +import lombok.NoArgsConstructor;
  6 +import lombok.experimental.SuperBuilder;
  7 +
  8 +/**
  9 + * @author dy
  10 + * @date 2021/3/12
  11 + */
  12 +@SuperBuilder
  13 +@Data
  14 +@AllArgsConstructor
  15 +@NoArgsConstructor
  16 +public abstract class BaseReceiveMessage {
  17 +
  18 + private byte[] receiveMessage;
  19 +}
... ...
src/main/java/com/example/mina/client/base/SendMessage.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package com.example.mina.client.base;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Data;
  5 +import lombok.NoArgsConstructor;
  6 +import lombok.experimental.SuperBuilder;
  7 +
  8 +/**
  9 + * @author dy
  10 + * @date 2021/3/12
  11 + */
  12 +@SuperBuilder
  13 +@Data
  14 +@AllArgsConstructor
  15 +@NoArgsConstructor
  16 +public class SendMessage {
  17 +
  18 + private byte[] sendMessage;
  19 +}
... ...
src/main/java/com/example/mina/client/box/aeroflex/AeroflexClientHandler.java
1 1 package com.example.mina.client.box.aeroflex;
2 2  
3 3 import com.example.mina.client.base.AbstractVirtualBoxClientHandler;
  4 +import com.example.mina.client.base.BaseReceiveMessage;
  5 +import com.example.mina.client.base.SendMessage;
4 6 import com.example.mina.client.entity.AbstractClientMessage;
5 7 import com.example.mina.server.base.AbstractHardwareDataBuffer;
6 8  
... ... @@ -16,7 +18,7 @@ public class AeroflexClientHandler extends AbstractVirtualBoxClientHandler {
16 18 }
17 19  
18 20 @Override
19   - protected boolean handleCommandResponse(byte[] cmd, byte[] response, int responseLen) {
  21 + protected boolean handleCommandResponse(SendMessage sendMessage, BaseReceiveMessage receiveMessage) {
20 22 return false;
21 23 }
22 24 }
... ...
src/main/java/com/example/mina/client/box/lte3000/Lte3000ByteDecoder.java
... ... @@ -24,6 +24,8 @@ public class Lte3000ByteDecoder extends ProtocolDecoderAdapter {
24 24  
25 25 in.get(bytes);
26 26  
27   - out.write(bytes);
  27 + Lte3000ReceiveMessage receiveMessage = Lte3000ReceiveMessage.builder().receiveMessage(bytes).build();
  28 +
  29 + out.write(receiveMessage);
28 30 }
29 31 }
... ...
src/main/java/com/example/mina/client/box/lte3000/Lte3000ClientHandler.java
No preview for this file type
src/main/java/com/example/mina/client/box/lte3000/Lte3000ReceiveMessage.java 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +package com.example.mina.client.box.lte3000;
  2 +
  3 +import com.example.mina.client.base.BaseReceiveMessage;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Data;
  6 +import lombok.NoArgsConstructor;
  7 +import lombok.experimental.SuperBuilder;
  8 +
  9 +/**
  10 + * @author dy
  11 + * @date 2021/3/12
  12 + */
  13 +@SuperBuilder
  14 +@Data
  15 +@AllArgsConstructor
  16 +public class Lte3000ReceiveMessage extends BaseReceiveMessage {
  17 +}
... ...