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 | 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 | +} | ... | ... |