@Override public void execute() { // 包格式:序列化的原语|源标签 if (this.packet.getSubsegmentCount() < 2) { Logger.e(ServerDialogueCommand.class, "Dialogue packet format error"); return; } byte[] priData = this.packet.getSubsegment(0); ByteArrayInputStream stream = new ByteArrayInputStream(priData); byte[] tagData = this.packet.getSubsegment(1); String speakerTag = Utils.bytes2String(tagData); byte[] identifierData = this.packet.getSubsegment(2); // 反序列化原语 Primitive primitive = new Primitive(speakerTag); primitive.read(stream); this.service.processDialogue( this.session, speakerTag, Utils.bytes2String(identifierData), primitive); }