From 07027178e39b5d37dbc9ba82826dd22a7fa94c27 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RBQROQC\\SHICHANG11" <309921330@qq.com> Date: Wed, 29 Jun 2022 12:59:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=8F=E8=AE=AE=E7=BC=96?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jprotobuf/JProtobufTcpCodecHandler.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/net/src/main/java/com/zfoo/net/handler/codec/jprotobuf/JProtobufTcpCodecHandler.java b/net/src/main/java/com/zfoo/net/handler/codec/jprotobuf/JProtobufTcpCodecHandler.java index 55a4bbcf..0b5ea5ad 100644 --- a/net/src/main/java/com/zfoo/net/handler/codec/jprotobuf/JProtobufTcpCodecHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/codec/jprotobuf/JProtobufTcpCodecHandler.java @@ -111,23 +111,16 @@ public class JProtobufTcpCodecHandler extends ByteToMessageCodec) ProtobufProxy.create(packet.getClass()); + byte[] bytes = protobufCodec.encode(packet); + // header(4byte) + protocolId(2byte) + buffer.writeInt(bytes.length + 2); + var protocolId = packet.protocolId(); // 写入协议号 ByteBufUtils.writeShort(buffer, protocolId); - // 写入protobuf协议 - var protobufCodec = (Codec) ProtobufProxy.create(packet.getClass()); - byte[] bytes = protobufCodec.encode(packet); - buffer.writeBytes(bytes); - - int length = buffer.readableBytes(); - int packetLength = length - PacketService.PACKET_HEAD_LENGTH; - - buffer.writerIndex(0); - buffer.writeInt(packetLength); - buffer.writerIndex(length); } }