package jiexi; import java.util.List; public class HexData { static PacketParser bufferManager = new PacketParser(); public static void DHEX(byte[] rawData,String ip,int port) { bufferManager.appendData(rawData, rawData.length); List parsedPackets = bufferManager.parsePackets(); // 处理解析后的数据包 for (PacketParser.DataPacket p : parsedPackets) { // 根据包头类型路由到不同解析器 switch (p.getPacketType()) { case 0x01: processType01(p,ip,port);break; case 0x02: processType02(p,ip,port);break; case 0x12: processType12(p,ip,port);break; case 0x03: processType03(p,ip,port);break; default: System.err.println("未知包类型: " + p.getPacketType()); } } } // 示例解析方法(需根据实际协议实现) private static void processType01(PacketParser.DataPacket packet,String ip,int port) { String hexData = PacketParser.bytesToHexString(packet.getPacket()); Dell55AA01Parser.parse(hexData,ip,port); } private static void processType02(PacketParser.DataPacket packet,String ip,int port) { String hexData = PacketParser.bytesToHexString(packet.getPacket()); Dell55AA02Parser.parse(hexData,ip,port); // 实际业务逻辑 } private static void processType12(PacketParser.DataPacket packet,String ip,int port) { String hexData = PacketParser.bytesToHexString(packet.getPacket()); Dell55AA12HighPerf.parse(hexData,ip,port); } private static void processType03(PacketParser.DataPacket packet,String ip,int port) { String hexData = PacketParser.bytesToHexString(packet.getPacket()); DellTag55AA03.parse(hexData,ip,port); } // 其他类型处理方法... }