From ccb681ec3a4ef38da878ac3a01c498853e9be4ca Mon Sep 17 00:00:00 2001 From: 826220679@qq.com <826220679@qq.com> Date: 星期六, 09 八月 2025 16:34:19 +0800 Subject: [PATCH] 修改 --- src/udptcp/UDPPortAReceiver.java | 30 +++++++++++------------------- 1 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/udptcp/UDPPortAReceiver.java b/src/udptcp/UDPPortAReceiver.java index 455da6e..a72e207 100644 --- a/src/udptcp/UDPPortAReceiver.java +++ b/src/udptcp/UDPPortAReceiver.java @@ -2,8 +2,6 @@ import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicLong; @@ -12,41 +10,35 @@ public class UDPPortAReceiver { public static final int PORT = 8234; - private static final int MAX_DEVICES = 50000; + @SuppressWarnings("unused") + private static final int MAX_DEVICES = 50000; private static final AtomicLong packetCount = new AtomicLong(0); private static final ExecutorService executor = Executors.newFixedThreadPool(10); private static DatagramSocket socket; private static volatile boolean isRunning = false; private static Thread receiverThread; - private static final int LOCAL_PORT = PORT; // 定义本地端口 + @SuppressWarnings("unused") + private static final int LOCAL_PORT = PORT; // 定义本地端口 // 启动接收器的静态方法 public static void startReceiver() { - if (isRunning) return; - + if (isRunning) return; isRunning = true; receiverThread = new Thread(() -> { try { socket = new DatagramSocket(PORT); - byte[] buffer = new byte[2048]; - + byte[] buffer = new byte[2048]; while (isRunning) { DatagramPacket packet = new DatagramPacket(buffer, buffer.length); - socket.receive(packet); - + socket.receive(packet); executor.execute(() -> { try { String ip = packet.getAddress().getHostAddress(); int port = packet.getPort(); String hexData = bytesToHex(packet.getData(), packet.getLength()); - packetCount.incrementAndGet(); - // 获取当前时间和时间戳 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String time = sdf.format(new Date()); - int timestamp = (int)(System.currentTimeMillis() / 1000); - - // 保存到HexBaowen集合 - // 调用时添加本地端口参数 - HexBaowen.intsert(ip, hexData, time, port, LOCAL_PORT, timestamp); + // 调用时添加本地端口参数 + PacketProcessingSystem.storePacket(ip, port, hexData); + // 报文查看窗口显示数据 + MessageViewPanel.showData(hexData, ip, port, PORT,"1"); } catch (Exception e) { System.err.println("Error processing UDP-A packet: " + e.getMessage()); -- Gitblit v1.9.3