Commit 9b4524d94c9ea0a5bd3e3ed5ab9e0a4a6dc975d7

Authored by dy
1 parent 5c2586c6
Exists in develop

fix: session发消息修改

src/main/java/com/example/mina/client/base/AbstractClient.java
1 package com.example.mina.client.base; 1 package com.example.mina.client.base;
2 2
3 import com.example.mina.client.entity.AbstractClientMessage; 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 import com.example.mina.client.service.ServerService; 5 import com.example.mina.client.service.ServerService;
6 import com.example.mina.client.service.impl.ServerServiceImpl; 6 import com.example.mina.client.service.impl.ServerServiceImpl;
7 import com.example.mina.server.base.AbstractHardwareDataBuffer; 7 import com.example.mina.server.base.AbstractHardwareDataBuffer;
@@ -38,7 +38,7 @@ public abstract class AbstractClient { @@ -38,7 +38,7 @@ public abstract class AbstractClient {
38 38
39 protected abstract void init(); 39 protected abstract void init();
40 40
41 - public void start() { 41 + public void start(ClientDTO clientDTO) {
42 //1、创建客户端IoService 42 //1、创建客户端IoService
43 IoConnector connector = new NioSocketConnector(); 43 IoConnector connector = new NioSocketConnector();
44 //客户端链接超时时间 44 //客户端链接超时时间
@@ -55,7 +55,7 @@ public abstract class AbstractClient { @@ -55,7 +55,7 @@ public abstract class AbstractClient {
55 connectFuture.awaitUninterruptibly(); 55 connectFuture.awaitUninterruptibly();
56 // 获取连接会话 56 // 获取连接会话
57 this.ioSession = connectFuture.getSession(); 57 this.ioSession = connectFuture.getSession();
58 - //setAttenuation(1, 1, 10); 58 + setAttenuation(clientDTO);
59 } 59 }
60 60
61 public boolean isConnected() { 61 public boolean isConnected() {
@@ -66,7 +66,7 @@ public abstract class AbstractClient { @@ -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 //abstract public int getAttenuation(int row, int col); 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,6 +2,7 @@ package com.example.mina.client.box.aeroflex;
2 2
3 import com.example.mina.client.base.AbstractClient; 3 import com.example.mina.client.base.AbstractClient;
4 import com.example.mina.client.entity.AeroflexMessage; 4 import com.example.mina.client.entity.AeroflexMessage;
  5 +import com.example.mina.client.entity.ClientDTO;
5 import com.example.mina.client.entity.ServerMessage; 6 import com.example.mina.client.entity.ServerMessage;
6 import com.example.mina.server.entity.AeroflexDataBuffer; 7 import com.example.mina.server.entity.AeroflexDataBuffer;
7 8
@@ -22,6 +23,11 @@ public class AeroflexClient extends AbstractClient { @@ -22,6 +23,11 @@ public class AeroflexClient extends AbstractClient {
22 abstractVirtualBoxClientHandler = new AeroflexClientHandler(abstractClientMessage, hardwareDataBuffer); 23 abstractVirtualBoxClientHandler = new AeroflexClientHandler(abstractClientMessage, hardwareDataBuffer);
23 } 24 }
24 25
  26 + @Override
  27 + public void setAttenuation(ClientDTO clientDTO) {
  28 +
  29 + }
  30 +
25 /*@Override 31 /*@Override
26 public boolean setAttenuation(int row, int col, int attenuation) { 32 public boolean setAttenuation(int row, int col, int attenuation) {
27 return false; 33 return false;
src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java
1 package com.example.mina.client.box.lte3000; 1 package com.example.mina.client.box.lte3000;
2 2
3 import com.example.mina.client.base.AbstractClient; 3 import com.example.mina.client.base.AbstractClient;
  4 +import com.example.mina.client.entity.ClientDTO;
4 import com.example.mina.client.entity.Command; 5 import com.example.mina.client.entity.Command;
5 import com.example.mina.client.entity.Lte3000Message; 6 import com.example.mina.client.entity.Lte3000Message;
6 import com.example.mina.client.entity.ServerMessage; 7 import com.example.mina.client.entity.ServerMessage;
@@ -33,18 +34,17 @@ public class Lte3000Client extends AbstractClient { @@ -33,18 +34,17 @@ public class Lte3000Client extends AbstractClient {
33 abstractVirtualBoxClientHandler = new Lte3000ClientHandler(abstractClientMessage, hardwareDataBuffer); 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 byte[] cmd; 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 } else { 42 } else {
42 - cmd = Lte3000CommandHelper.genCommandSetCross(row, col); 43 + cmd = Lte3000CommandHelper.genCommandSetCross(clientDTO.getRow(), clientDTO.getCol());
43 } 44 }
44 ioSession.write(cmd); 45 ioSession.write(cmd);
45 } 46 }
46 47
47 -  
48 public int getAttenuation(int col) { 48 public int getAttenuation(int col) {
49 return hardwareDataBuffer.getOffset(col); 49 return hardwareDataBuffer.getOffset(col);
50 } 50 }
src/main/java/com/example/mina/client/entity/ClientDTO.java 0 → 100644
@@ -0,0 +1,22 @@ @@ -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 package com.example.mina.client.test; 1 package com.example.mina.client.test;
2 2
3 import com.example.mina.client.box.lte3000.Lte3000Client; 3 import com.example.mina.client.box.lte3000.Lte3000Client;
  4 +import com.example.mina.client.entity.ClientDTO;
4 5
5 public class MinaClient { 6 public class MinaClient {
6 7
@@ -30,7 +31,7 @@ public class MinaClient { @@ -30,7 +31,7 @@ public class MinaClient {
30 // cf.getSession().getCloseFuture().awaitUninterruptibly(); 31 // cf.getSession().getCloseFuture().awaitUninterruptibly();
31 // 32 //
32 // connector.dispose(); 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 }