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); } // ÆäËûÀàÐÍ´¦Àí·½·¨... }