From 8e3b8d57f528a48bc03bae2025beab37daa31507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Thu, 11 May 2023 11:19:04 +0800 Subject: [PATCH] 'commit' --- src/main/java/UnitTest/HexStringSender.java | 6 --- src/main/java/UnitTest/SocketUtilTest.java | 30 ++++++++++++++ .../dsideal/FengHuang/Util/SocketUtil.java} | 39 +++++-------------- 3 files changed, 39 insertions(+), 36 deletions(-) create mode 100644 src/main/java/UnitTest/SocketUtilTest.java rename src/main/java/{UnitTest/HexDataSender.java => com/dsideal/FengHuang/Util/SocketUtil.java} (65%) diff --git a/src/main/java/UnitTest/HexStringSender.java b/src/main/java/UnitTest/HexStringSender.java index f6292ad..28c97fa 100644 --- a/src/main/java/UnitTest/HexStringSender.java +++ b/src/main/java/UnitTest/HexStringSender.java @@ -1,23 +1,18 @@ package UnitTest; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class HexStringSender { public static String IP = "10.10.21.18"; public static int PORT = 8001; - //# 开 public static String open_hex_str = "16 00 34 F5 41 11 FE 82 0D 02 6D FF 00 00 00 00 00 00 01 00 00 01"; - - //关 public static String close_hex_str = "16 00 34 F5 41 11 FE 82 0D 02 6D FF 00 00 00 00 00 00 01 00 00 00"; public static void main(String[] args) throws IOException, InterruptedException { - for (int i = 1; ; i++) { Socket socket = new Socket(IP, PORT); String hex_str; @@ -30,7 +25,6 @@ public class HexStringSender { Thread.sleep(2000); } - } /** diff --git a/src/main/java/UnitTest/SocketUtilTest.java b/src/main/java/UnitTest/SocketUtilTest.java new file mode 100644 index 0000000..d003f24 --- /dev/null +++ b/src/main/java/UnitTest/SocketUtilTest.java @@ -0,0 +1,30 @@ +package UnitTest; + +import com.dsideal.FengHuang.Util.SocketUtil; + +public class SocketUtilTest { + + public static void Open(String host, int port, String sb_id) throws Exception { + //开 + String hexData = "16 00 34 F5 41 11 FE 82 0D 02 ? 00 00 00 00 00 00 01 00 00 01".replace("?", sb_id).replace(" ", ""); + SocketUtil sender = new SocketUtil(host, port); + sender.sendHexData(hexData); + } + + public static void Close(String host, int port, String sb_id) throws Exception { + //关 + String hexData = "16 00 34 F5 41 11 FE 82 0D 02 ? 00 00 00 00 00 00 01 00 00 00".replace("?", sb_id).replace(" ", ""); + SocketUtil sender = new SocketUtil(host, port); + sender.sendHexData(hexData); + } + public static void main(String[] args) throws Exception { + String HOST = "10.10.21.18"; + int PORT = 8001; + String sb_id = "6D FF"; + for (int i = 1; ; i++) { + if (i % 2 == 1) Open(HOST, PORT, sb_id); + else Close(HOST, PORT, sb_id); + Thread.sleep(1000); + } + } +} diff --git a/src/main/java/UnitTest/HexDataSender.java b/src/main/java/com/dsideal/FengHuang/Util/SocketUtil.java similarity index 65% rename from src/main/java/UnitTest/HexDataSender.java rename to src/main/java/com/dsideal/FengHuang/Util/SocketUtil.java index 5d60801..c8d61c6 100644 --- a/src/main/java/UnitTest/HexDataSender.java +++ b/src/main/java/com/dsideal/FengHuang/Util/SocketUtil.java @@ -1,4 +1,4 @@ -package UnitTest; +package com.dsideal.FengHuang.Util; import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBuf; @@ -9,11 +9,11 @@ import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.MessageToByteEncoder; -public class HexDataSender { +public class SocketUtil { private final String host; private final int port; - public HexDataSender(String host, int port) { + public SocketUtil(String host, int port) { this.host = host; this.port = port; } @@ -29,44 +29,23 @@ public class HexDataSender { b.handler(new ChannelInitializer() { @Override public void initChannel(SocketChannel ch) { - //ChannelPipeline p = ch.pipeline(); - //p.addLast(new HexDataEncoder()); - //p.addLast(new HexDataSenderHandler(hexData)); + ChannelPipeline p = ch.pipeline(); + p.addLast(new HexDataEncoder()); + p.addLast(new HexDataSenderHandler(hexData)); } }); // Start the client. ChannelFuture f = b.connect(host, port).sync(); - f.channel().writeAndFlush(Unpooled.copiedBuffer(hexData.getBytes())).sync(); // Wait until the connection is closed. - f.channel().closeFuture().sync(); + //f.channel().closeFuture().sync(); + //手动关闭 + f.channel().close(); } finally { workerGroup.shutdownGracefully(); } } - public static String IP = "10.10.21.18"; - public static int PORT = 8001; - - public static void Open() throws Exception { - //开 - String hexData = "16 00 34 F5 41 11 FE 82 0D 02 6D FF 00 00 00 00 00 00 01 00 00 01".replace(" ",""); - HexDataSender sender = new HexDataSender(IP, PORT); - sender.sendHexData(hexData); - } - - public static void Close(String sb_id) throws Exception { - //关 - String hexData = "16 00 34 F5 41 11 FE 82 0D 02 ? 00 00 00 00 00 00 01 00 00 00".replace("?", sb_id).replace(" ", ""); - HexDataSender sender = new HexDataSender(IP, PORT); - sender.sendHexData(hexData); - } - - public static void main(String[] args) throws Exception { - //Close("6D FF"); - - Open(); - } } class HexDataSenderHandler extends ChannelInboundHandlerAdapter {