826220679@qq.com
10 天以前 fb883547ede83b1c758b1a9a025898ba3f83497a
src/udptcp/UDPPortAReceiver.java
@@ -33,17 +33,32 @@
               socket.receive(packet);                    
               executor.execute(() -> {
                  try {
                     String ip = packet.getAddress().getHostAddress();
                     int port = packet.getPort();
                     String hexData = bytesToHex(packet.getData(), packet.getLength());
                      InetAddress address = packet.getAddress();
                          if (address == null) {
                              System.err.println("Received packet with null address");
                              return;
                          }
                          String ip = address.getHostAddress();
                          int port = packet.getPort();
                          byte[] packetData = packet.getData();
                          int length = packet.getLength();
                          if (packetData == null || length <= 0) {
                              System.err.println("Invalid packet data");
                              return;
                          }
                          String hexData = bytesToHex(packetData, length);
                     // 调用时添加本地端口参数
                     PacketProcessingSystem.storePacket(ip, port, hexData);                            
                     // 报文查看窗口显示数据
                     MessageViewPanel.showData(hexData, ip, port, PORT,"1");
                     MessageViewPanel.showData(hexData, ip, port, PORT,"UDPA","ALL","ALL");
                     // +++ 增加包计数 +++
                     packetCount.incrementAndGet();  // 关键修复:增加计数器  
                  } catch (Exception e) {
                     System.err.println("Error processing UDP-A packet: " + e.getMessage());
                     System.err.println("Error processing UDP-A packet: ");
                       e.printStackTrace(); // 添加详细堆栈跟踪
                  }
               });
            }
@@ -89,11 +104,12 @@
   }
   private static String bytesToHex(byte[] bytes, int length) {
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < length; i++) {
         sb.append(String.format("%02X", bytes[i]));
      }
      return sb.toString();
       StringBuilder sb = new StringBuilder();
       for (int i = 0; i < length; i++) {
           // 确保生成大写、无分隔符的十六进制
           sb.append(String.format("%02X", bytes[i]));
       }
       return sb.toString();
   }
   private static byte[] hexStringToByteArray(String hex) {