From 075c6b410cceca3b63649d21876df710bc14d47f Mon Sep 17 00:00:00 2001 From: linbenlei <572833793@qq.com> Date: Fri, 12 Mar 2021 15:43:19 +0800 Subject: [PATCH] fix: 修改抽象client --- src/main/java/com/example/mina/client/base/AbstractClient.java | 23 ++++++++++++++--------- src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java | 2 +- src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java | 8 ++++++-- src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java | 22 ++++++++++++++++++++-- src/main/java/com/example/mina/client/test/MinaClient.java | 2 +- src/main/java/com/example/mina/server/box/lte3000/Lte3000VirtualBoxHandler.java | 2 ++ 6 files changed, 44 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/example/mina/client/base/AbstractClient.java b/src/main/java/com/example/mina/client/base/AbstractClient.java index abc538b..6af297a 100644 --- a/src/main/java/com/example/mina/client/base/AbstractClient.java +++ b/src/main/java/com/example/mina/client/base/AbstractClient.java @@ -54,24 +54,29 @@ public abstract class AbstractClient { // 等待建立连接 connectFuture.awaitUninterruptibly(); // 获取连接会话 + int a = getAttenuation(3); + this.ioSession = connectFuture.getSession(); - setAttenuation(clientDTO); - } - public boolean isConnected() { - return false; + //setAttenuation(clientDTO); + + int b = getAttenuation(3); } - public void close() { + abstract public int getAttenuation(int col); - } + /*public boolean isConnected() { + return false; + }*/ + + //public void close() {} abstract public void setAttenuation(ClientDTO clientDTO); - //abstract public int getAttenuation(int row, int col); - abstract public Boolean reset(); - abstract public int[][] getAll(); + //abstract public Boolean reset(); + + //abstract public int[][] getAll(); } diff --git a/src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java b/src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java index 313c9d3..15da719 100644 --- a/src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java +++ b/src/main/java/com/example/mina/client/base/AbstractVirtualBoxClientHandler.java @@ -34,7 +34,7 @@ public abstract class AbstractVirtualBoxClientHandler extends IoHandlerAdapter { @Override public void messageReceived(IoSession session, Object message) { - handleCommandResponse(clientMessage.getCommands().get(1).getBytes(), (byte[]) message, ((byte[]) message).length); + //handleCommandResponse(clientMessage.getCommands().get(1).getBytes(), (byte[]) message, ((byte[]) message).length); System.out.println("客户端messageReceived被调用!"); System.out.println("client端接收信息:" + new String((byte[])message, StandardCharsets.UTF_8)); LogUtils.println("client端接收信息hex:",(byte[])message); diff --git a/src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java b/src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java index c0d403c..0b86e5b 100644 --- a/src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java +++ b/src/main/java/com/example/mina/client/box/aeroflex/AeroflexClient.java @@ -36,7 +36,7 @@ public class AeroflexClient extends AbstractClient { @Override public int getAttenuation(int row, int col) { return 0; - }*/ + } @Override public Boolean reset() { @@ -46,6 +46,10 @@ public class AeroflexClient extends AbstractClient { @Override public int[][] getAll() { return new int[0][]; - } + }*/ + @Override + public int getAttenuation(int col) { + return 0; + } } diff --git a/src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java b/src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java index d783460..4e6879d 100644 --- a/src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java +++ b/src/main/java/com/example/mina/client/box/lte3000/Lte3000Client.java @@ -5,6 +5,7 @@ import com.example.mina.client.entity.ClientDTO; import com.example.mina.client.entity.Command; import com.example.mina.client.entity.Lte3000Message; import com.example.mina.client.entity.ServerMessage; +import com.example.mina.server.entity.Entry; import com.example.mina.server.entity.Lte3000DataBuffer; import com.example.mina.server.util.Lte3000CommandHelper; @@ -45,11 +46,28 @@ public class Lte3000Client extends AbstractClient { ioSession.write(cmd); } + public boolean isCrossPointOn(int row, int col) { + return hardwareDataBuffer.getAttenuation(row, col) >= 1; + } + + @Override public int getAttenuation(int col) { return hardwareDataBuffer.getOffset(col); } - @Override + public byte[] genCloseCommand(){ + return Lte3000CommandHelper.genCommandGetCross(1); + } + + public Entry[][] getMatrix(){ + return hardwareDataBuffer.getMatrixData(); + } + + public Entry[] getOffsetData(){ + return hardwareDataBuffer.getOffsetData(); + } + + /*@Override public Boolean reset() { return null; } @@ -57,6 +75,6 @@ public class Lte3000Client extends AbstractClient { @Override public int[][] getAll() { return new int[0][]; - } + }*/ } diff --git a/src/main/java/com/example/mina/client/test/MinaClient.java b/src/main/java/com/example/mina/client/test/MinaClient.java index 313d8ad..1a1c1b6 100644 --- a/src/main/java/com/example/mina/client/test/MinaClient.java +++ b/src/main/java/com/example/mina/client/test/MinaClient.java @@ -31,7 +31,7 @@ public class MinaClient { // cf.getSession().getCloseFuture().awaitUninterruptibly(); // // connector.dispose(); - new Lte3000Client().start(ClientDTO.builder().row(32).col(32).maxAttn(30).build()); + new Lte3000Client().start(ClientDTO.builder().row(0).col(3).maxAttn(5).build()); } diff --git a/src/main/java/com/example/mina/server/box/lte3000/Lte3000VirtualBoxHandler.java b/src/main/java/com/example/mina/server/box/lte3000/Lte3000VirtualBoxHandler.java index 82ca348..edd9d6a 100644 --- a/src/main/java/com/example/mina/server/box/lte3000/Lte3000VirtualBoxHandler.java +++ b/src/main/java/com/example/mina/server/box/lte3000/Lte3000VirtualBoxHandler.java @@ -37,6 +37,7 @@ public class Lte3000VirtualBoxHandler extends AbstractVirtualBoxHandler