Commit 9b4524d94c9ea0a5bd3e3ed5ab9e0a4a6dc975d7

Authored by dy
1 parent 5c2586c6
Exists in develop

fix: session发消息修改

src/main/java/com/example/mina/client/base/AbstractClient.java
1 1 package com.example.mina.client.base;
2 2  
3 3 import com.example.mina.client.entity.AbstractClientMessage;
4   -import com.example.mina.client.entity.ServerMessage;
  4 +import com.example.mina.client.entity.ClientDTO;
5 5 import com.example.mina.client.service.ServerService;
6 6 import com.example.mina.client.service.impl.ServerServiceImpl;
7 7 import com.example.mina.server.base.AbstractHardwareDataBuffer;
... ... @@ -38,7 +38,7 @@ public abstract class AbstractClient {
38 38  
39 39 protected abstract void init();
40 40  
41   - public void start() {
  41 + public void start(ClientDTO clientDTO) {
42 42 //1、创建客户端IoService
43 43 IoConnector connector = new NioSocketConnector();
44 44 //客户端链接超时时间
... ... @@ -55,7 +55,7 @@ public abstract class AbstractClient {
55 55 connectFuture.awaitUninterruptibly();
56 56 // 获取连接会话
57 57 this.ioSession = connectFuture.getSession();
58   - //setAttenuation(1, 1, 10);
  58 + setAttenuation(clientDTO);
59 59 }
60 60  
61 61 public boolean isConnected() {
... ... @@ -66,7 +66,7 @@ public abstract class AbstractClient {
66 66  
67 67 }
68 68  
69   - //abstract public boolean setAttenuation(int row, int col, int attenuation);
  69 + abstract public void setAttenuation(ClientDTO clientDTO);
70 70  
71 71 //abstract public int getAttenuation(int row, int col);
72 72  
... ...
src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java
... ... @@ -2,6 +2,7 @@ package com.example.mina.client.box.aeroflex;
2 2  
3 3 import com.example.mina.client.base.AbstractClient;
4 4 import com.example.mina.client.entity.AeroflexMessage;
  5 +import com.example.mina.client.entity.ClientDTO;
5 6 import com.example.mina.client.entity.ServerMessage;
6 7 import com.example.mina.server.entity.AeroflexDataBuffer;
7 8  
... ... @@ -22,6 +23,11 @@ public class AeroflexClient extends AbstractClient {
22 23 abstractVirtualBoxClientHandler = new AeroflexClientHandler(abstractClientMessage, hardwareDataBuffer);
23 24 }
24 25  
  26 + @Override
  27 + public void setAttenuation(ClientDTO clientDTO) {
  28 +
  29 + }
  30 +
25 31 /*@Override
26 32 public boolean setAttenuation(int row, int col, int attenuation) {
27 33 return false;
... ...
src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java
1 1 package com.example.mina.client.box.lte3000;
2 2  
3 3 import com.example.mina.client.base.AbstractClient;
  4 +import com.example.mina.client.entity.ClientDTO;
4 5 import com.example.mina.client.entity.Command;
5 6 import com.example.mina.client.entity.Lte3000Message;
6 7 import com.example.mina.client.entity.ServerMessage;
... ... @@ -33,18 +34,17 @@ public class Lte3000Client extends AbstractClient {
33 34 abstractVirtualBoxClientHandler = new Lte3000ClientHandler(abstractClientMessage, hardwareDataBuffer);
34 35 }
35 36  
36   - public void setAttenuation(int row, int col, int atten) {
37   - //ioSession.write("abcdfd".getBytes());
  37 + @Override
  38 + public void setAttenuation(ClientDTO clientDTO) {
38 39 byte[] cmd;
39   - if (row == 0) {
40   - cmd = Lte3000CommandHelper.genCommandSetAttn(col, atten);
  40 + if (clientDTO.getRow() == 0) {
  41 + cmd = Lte3000CommandHelper.genCommandSetAttn(clientDTO.getCol(), clientDTO.getMaxAttn());
41 42 } else {
42   - cmd = Lte3000CommandHelper.genCommandSetCross(row, col);
  43 + cmd = Lte3000CommandHelper.genCommandSetCross(clientDTO.getRow(), clientDTO.getCol());
43 44 }
44 45 ioSession.write(cmd);
45 46 }
46 47  
47   -
48 48 public int getAttenuation(int col) {
49 49 return hardwareDataBuffer.getOffset(col);
50 50 }
... ...
src/main/java/com/example/mina/client/entity/ClientDTO.java 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +package com.example.mina.client.entity;
  2 +
  3 +import lombok.Builder;
  4 +import lombok.Data;
  5 +
  6 +/**
  7 + * @author dy
  8 + * @date 2021/3/12
  9 + */
  10 +@Data
  11 +@Builder
  12 +public class ClientDTO {
  13 +
  14 + private Integer row;
  15 +
  16 + private Integer col;
  17 +
  18 + private Integer maxAttn;
  19 +
  20 + private String description;
  21 +
  22 +}
... ...
src/main/java/com/example/mina/client/test/MinaClient.java
1 1 package com.example.mina.client.test;
2 2  
3 3 import com.example.mina.client.box.lte3000.Lte3000Client;
  4 +import com.example.mina.client.entity.ClientDTO;
4 5  
5 6 public class MinaClient {
6 7  
... ... @@ -30,7 +31,7 @@ public class MinaClient {
30 31 // cf.getSession().getCloseFuture().awaitUninterruptibly();
31 32 //
32 33 // connector.dispose();
33   - new Lte3000Client().start();
  34 + new Lte3000Client().start(ClientDTO.builder().row(32).col(32).maxAttn(30).build());
34 35  
35 36  
36 37 }
... ...