ÎļþÃû´Ó src/udptcp/PacketProcessingSystem.java ÐÞ¸Ä |
| | |
| | | package udptcp; |
| | | package publicsWay; |
| | | import java.util.List; |
| | | import java.util.concurrent.ConcurrentLinkedQueue; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | import dell55AAData.Dell55AA01Parser; |
| | | import dell55AAData.Dell55AA12HighPerf; |
| | | |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | |
| | |
| | | isRunning.set(true); |
| | | parserThread = new Thread(() -> { |
| | | PacketParser bufferManager = new PacketParser(); |
| | | |
| | | while (isRunning.get()) { |
| | | HexPacket packet = packetQueue.poll(); |
| | | if (packet == null) { |
| | |
| | | processType01(p,ip,port);break; |
| | | case 0x02: |
| | | processType02(p,ip,port);break; |
| | | |
| | | case 0x12: |
| | | processType12(p,ip,port);break; |
| | | default: |
| | | System.err.println("æªç¥å
ç±»å: " + p.getPacketType()); |
| | | } |
| | |
| | | } |
| | | |
| | | private static void processType02(PacketParser.DataPacket packet,String ip,int port) { |
| | | String hexData = PacketParser.bytesToHexString(packet.getPacket()); |
| | | System.out.println("å¤ç55AA02å
: " + packet); |
| | | // å®é
ä¸å¡é»è¾ |
| | | } |
| | | |
| | | private static void processType12(PacketParser.DataPacket packet,String ip,int port) { |
| | | String hexData = PacketParser.bytesToHexString(packet.getPacket()); |
| | | Dell55AA12HighPerf.parse(hexData,ip,port); |
| | | } |
| | | // å
¶ä»ç±»åå¤çæ¹æ³... |
| | | } |