public void processMediaMsg(T808Message msg) { T808MessageHeader header = msg.getHeader(); JT_0304 pic = (JT_0304)msg.getMessageContents(); int packetNo = pic.getPicNo(); String key = msg.getSimNo() + "_" + msg.getMessageType() + "_" + pic.getPicSum()+"_"+pic.getPicName(); MediaPacket mp = msgMap.get(key); if(packetNo == 1 ) { String tip = key + "拍照第一包"; if(mp != null) tip += "包已经存在:" + mp.toString(); logger.error(tip); } if (mp == null) { mp = new MediaPacket(msg); mp.setKey(key); msgMap.put(key, mp); } if( mp.containPacket(packetNo) == false) mp.addPacket(packetNo, pic.getPicData()); else logger.error(key + "异常,该分包号已经存在,分包号:" + packetNo + ",mp:" + mp.toString()); }这段代码是干嘛的
时间: 2024-01-28 10:05:42 浏览: 69
demo.zip_808 协议_808-2011_JT/T808_JT/T808-2011_车载 JT 808
这段代码是一个处理媒体消息的方法,其输入参数是一个T808Message类型的消息对象。该方法首先获取消息头,然后获取消息内容中的JT_0304类型的对象(pic),并从该对象中获取图片的分包号(packetNo)。接着,该方法根据SIM卡号、消息类型、图片总数和图片名称生成一个唯一的key,并从msgMap中获取对应的MediaPacket对象(mp)。如果当前分包号为1,则输出一条日志信息。如果mp为空,则创建一个新的MediaPacket对象,并将其加入到msgMap中。最后,如果该分包号还未存在于mp中,则将该分包的图片数据加入到mp中,否则输出一条异常日志信息。
阅读全文