Commit 420a2e6de6d71126448948569d7ccce0256cd8be
1 parent
72aa034d
Exists in
develop
fix: lte3000编解码器修改
Showing
7 changed files
with
88 additions
and
12 deletions
Show diff stats
src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java
@@ -10,16 +10,23 @@ import org.apache.mina.core.service.IoHandlerAdapter; | @@ -10,16 +10,23 @@ import org.apache.mina.core.service.IoHandlerAdapter; | ||
10 | import org.apache.mina.core.session.IdleStatus; | 10 | import org.apache.mina.core.session.IdleStatus; |
11 | import org.apache.mina.core.session.IoSession; | 11 | import org.apache.mina.core.session.IoSession; |
12 | 12 | ||
13 | -import java.io.UnsupportedEncodingException; | ||
14 | import java.nio.charset.StandardCharsets; | 13 | import java.nio.charset.StandardCharsets; |
15 | 14 | ||
15 | +/** | ||
16 | + * @author dy | ||
17 | + */ | ||
16 | @Data | 18 | @Data |
17 | -public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { | 19 | +public abstract class AbstractVirtualBoxClientHandler<RECEIVE extends BaseReceiveMessage> |
20 | + extends IoHandlerAdapter { | ||
18 | 21 | ||
19 | protected AbstractClientMessage clientMessage; | 22 | protected AbstractClientMessage clientMessage; |
20 | 23 | ||
21 | protected AbstractHardwareDataBuffer hardwareDataBuffer; | 24 | protected AbstractHardwareDataBuffer hardwareDataBuffer; |
22 | 25 | ||
26 | + private SendMessage sendMessage = new SendMessage(); | ||
27 | + | ||
28 | + private BaseReceiveMessage receiveMessage; | ||
29 | + | ||
23 | public AbstractVirtualBoxClientHandler(AbstractClientMessage clientMessage, | 30 | public AbstractVirtualBoxClientHandler(AbstractClientMessage clientMessage, |
24 | AbstractHardwareDataBuffer abstractHardwareDataBuffer) { | 31 | AbstractHardwareDataBuffer abstractHardwareDataBuffer) { |
25 | this.clientMessage = clientMessage; | 32 | this.clientMessage = clientMessage; |
@@ -34,17 +41,22 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { | @@ -34,17 +41,22 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { | ||
34 | 41 | ||
35 | @Override | 42 | @Override |
36 | public void messageReceived(IoSession session, Object message) { | 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 | System.out.println("客户端messageReceived被调用!"); | 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 | @Override | 54 | @Override |
44 | public void messageSent(IoSession session, Object message) { | 55 | public void messageSent(IoSession session, Object message) { |
45 | System.out.println("客户端messageSent被调用!"); | 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 | @Override | 62 | @Override |
@@ -89,6 +101,6 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { | @@ -89,6 +101,6 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { | ||
89 | session.write(command.getBytes()); | 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 @@ | @@ -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 @@ | @@ -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 | package com.example.mina.client.box.aeroflex; | 1 | package com.example.mina.client.box.aeroflex; |
2 | 2 | ||
3 | import com.example.mina.client.base.AbstractVirtualBoxClientHandler; | 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 | import com.example.mina.client.entity.AbstractClientMessage; | 6 | import com.example.mina.client.entity.AbstractClientMessage; |
5 | import com.example.mina.server.base.AbstractHardwareDataBuffer; | 7 | import com.example.mina.server.base.AbstractHardwareDataBuffer; |
6 | 8 | ||
@@ -16,7 +18,7 @@ public class AeroflexClientHandler extends AbstractVirtualBoxClientHandler { | @@ -16,7 +18,7 @@ public class AeroflexClientHandler extends AbstractVirtualBoxClientHandler { | ||
16 | } | 18 | } |
17 | 19 | ||
18 | @Override | 20 | @Override |
19 | - protected boolean handleCommandResponse(byte[] cmd, byte[] response, int responseLen) { | 21 | + protected boolean handleCommandResponse(SendMessage sendMessage, BaseReceiveMessage receiveMessage) { |
20 | return false; | 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,6 +24,8 @@ public class Lte3000ByteDecoder extends ProtocolDecoderAdapter { | ||
24 | 24 | ||
25 | in.get(bytes); | 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 @@ | @@ -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 | +} |