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