kgdxpr 2 years ago
commit e5cd33712f

@ -137,10 +137,11 @@
</dependency>
<!--引用postrgesql-->
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.27</version>
<version>42.6.0</version>
</dependency>
<!--引用poi-->
@ -285,11 +286,10 @@
<artifactId>kafka-clients</artifactId>
<version>3.4.0</version>
</dependency>
<!--引入netty-->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.92.Final</version>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.1.3</version>
</dependency>
</dependencies>
<build>

@ -1,10 +1,11 @@
package UnitTest;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class HexStringSender {
public class HexStringSenderBySocket {
public static String IP = "10.10.21.18";
public static int PORT = 8001;
//# 开
@ -12,7 +13,7 @@ public class HexStringSender {
//关
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 {
public static void KG() throws IOException, InterruptedException {
for (int i = 1; ; i++) {
Socket socket = new Socket(IP, PORT);
String hex_str;
@ -21,12 +22,52 @@ public class HexStringSender {
byte[] bytes = hexStringToByteArray(hex_str);
OutputStream os = socket.getOutputStream();
os.write(bytes);
socket.close();
InputStream in = socket.getInputStream();
byte[] buffer = new byte[1024];
int len = in.read(buffer);
byte[] resp = new byte[len];
System.arraycopy(buffer, 0, resp, 0, len);
System.out.println("response: " + bytesToHexString(resp));
socket.close();
Thread.sleep(2000);
}
}
public static void getSbList() throws IOException {
String hex_str="08 00 34 F5 41 11 FE 81";
Socket socket = new Socket(IP, PORT);
byte[] bytes = hexStringToByteArray(hex_str);
OutputStream os = socket.getOutputStream();
os.write(bytes);
InputStream in = socket.getInputStream();
byte[] buffer = new byte[1024];
int len = in.read(buffer);
byte[] resp = new byte[len];
System.arraycopy(buffer, 0, resp, 0, len);
System.out.println("response: " + bytesToHexString(resp));
socket.close();
}
public static void main(String[] args) throws IOException, InterruptedException {
//KG();
getSbList();
}
public static String bytesToHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X", b));
sb.append(" ");
}
return sb.toString();
}
/**
* 16
*

@ -1,40 +0,0 @@
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 getList(String host, int port) throws Exception {
//String gateWay = "1141f534";
String hexData = "08 00 34 f5 41 11 FE 81";
hexData=hexData.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);
}
// getList(HOST,PORT);
}
}

@ -0,0 +1,40 @@
package UnitTest;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
import java.util.ArrayList;
import java.util.List;
public class TestOpenGauss {
public static void main(String[] args) {
//读取库
DruidPlugin druid = new DruidPlugin("jdbc:postgresql://10.10.14.62:5432/dsideal_db", "test",
"Test@123", "org.postgresql.Driver");
druid.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
arp.setDialect(new PostgreSqlDialect());
arp.start();
String sql = "truncate table t1";
Db.update(sql);
List<Record> aList = new ArrayList<>();
for (int i = 1; i <= 1000; i++) {
Record record = new Record();
record.set("id", i);
record.set("name", "黄海" + i);
aList.add(record);
}
Db.batchSave("t1", aList, 100);
sql = "select * from t1";
List<Record> list = Db.find(sql);
System.out.println(list);
}
}

@ -1,112 +0,0 @@
package com.dsideal.FengHuang.Util;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.MessageToByteEncoder;
import java.nio.charset.StandardCharsets;
public class SocketUtil {
private final String host;
private final int port;
public SocketUtil(String host, int port) {
this.host = host;
this.port = port;
}
public void sendHexData(String hexData) throws Exception {
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
Bootstrap b = new Bootstrap();
b.group(workerGroup);
b.channel(NioSocketChannel.class);
b.option(ChannelOption.SO_KEEPALIVE, true);
b.handler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch) {
ChannelPipeline p = ch.pipeline();
p.addLast(new HexDataEncoder());
p.addLast(new HexDataSenderHandler(hexData));
p.addLast(new ClientHandler()); // 添加客户端 Handler
}
});
// Start the client.
ChannelFuture f = b.connect(host, port).sync();
// Wait until the connection is closed.
//f.channel().closeFuture().sync();
//手动关闭
f.channel().close();
} finally {
workerGroup.shutdownGracefully();
}
}
class HexDataSenderHandler extends ChannelInboundHandlerAdapter {
private final String hexData;
public HexDataSenderHandler(String hexData) {
this.hexData = hexData;
}
@Override
public void channelActive(ChannelHandlerContext ctx) {
byte[] bytes = hexStringToByteArray(hexData);
ByteBuf buffer = Unpooled.buffer(bytes.length);
buffer.writeBytes(bytes);
ctx.writeAndFlush(buffer);
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
cause.printStackTrace();
ctx.close();
}
private byte[] hexStringToByteArray(String hexData) {
int len = hexData.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexData.charAt(i), 16) << 4) +
Character.digit(hexData.charAt(i + 1), 16));
}
return data;
}
}
static class ClientHandler extends ChannelInboundHandlerAdapter {
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
// 处理服务器响应数据
byte[] bytes = (byte[]) msg;
String response = new String(bytes, StandardCharsets.US_ASCII);
System.out.println("Server response: " + response);
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
cause.printStackTrace();
ctx.close();
}
}
static class HexDataEncoder extends MessageToByteEncoder<ByteBuf> {
@Override
protected void encode(ChannelHandlerContext ctx, ByteBuf msg, ByteBuf out) throws Exception {
byte[] bytes = new byte[msg.readableBytes()];
msg.getBytes(msg.readerIndex(), bytes);
out.writeBytes(bytes);
}
}
}
Loading…
Cancel
Save