@@ -101,23 +101,27 @@ private static void DecodeMessage(byte[] data)
101101 int offset = 0 ;
102102
103103 // 消息总长度
104- var totalLength = data . ReadUInt ( ref offset ) ;
104+ var totalLength = data . ReadInt ( ref offset ) ;
105105 // 消息头长度
106- ushort headerLength = data . ReadUShort ( ref offset ) ;
106+ byte operationType = data . ReadByte ( ref offset ) ;
107+ byte zipFlag = data . ReadByte ( ref offset ) ;
108+ var UniqueId = data . ReadInt ( ref offset ) ;
109+ var MessageId = data . ReadInt ( ref offset ) ;
110+ // ushort headerLength = data.ReadByte(ref offset);
107111 // 消息头字节数组
108- var messageHeaderData = data . ReadBytes ( ref offset , headerLength ) ;
112+ // var messageHeaderData = data.ReadBytes(ref offset, headerLength);
109113 // 消息对象头
110- var messageObjectHeader = DecodeHeaderNetworkMessage ( messageHeaderData ) ;
114+ // var messageObjectHeader = DecodeHeaderNetworkMessage(messageHeaderData);
111115 // 消息内容
112- var messageData = data . ReadBytes ( ref offset , ( int ) ( totalLength - headerLength - 6 ) ) ;
113- var messageType = MessageProtoHelper . GetMessageTypeById ( messageObjectHeader . MessageId ) ;
116+ var messageData = data . ReadBytes ( ref offset , ( int ) ( totalLength - 14 ) ) ;
117+ var messageType = MessageProtoHelper . GetMessageTypeById ( MessageId ) ;
114118 if ( messageType != null )
115119 {
116120 var messageObject = ( MessageObject ) ProtoBufSerializerHelper . Deserialize ( messageData , messageType ) ;
117- messageObject . SetMessageId ( messageObjectHeader . MessageId ) ;
118- messageObject . SetOperationType ( ( MessageOperationType ) messageObjectHeader . OperationType ) ;
119- messageObject . SetUniqueId ( messageObjectHeader . UniqueId ) ;
120- Console . WriteLine ( $ "客户端接收到信息:{ messageObject . ToFormatMessageString ( ) } ") ;
121+ messageObject . SetMessageId ( MessageId ) ;
122+ messageObject . SetOperationType ( ( MessageOperationType ) operationType ) ;
123+ messageObject . SetUniqueId ( UniqueId ) ;
124+ // Console.WriteLine($"客户端接收到信息:{messageObject.ToFormatMessageString()}");
121125 }
122126 }
123127
@@ -127,8 +131,8 @@ private static byte[] Handler(MessageObject message)
127131 {
128132 _count ++ ;
129133
130- MessageProtoHelper . SetMessageIdAndOperationType ( message ) ;
131-
134+ MessageProtoHelper . SetMessageId ( message ) ;
135+ message . SetOperationType ( MessageProtoHelper . GetMessageOperationType ( message ) ) ;
132136
133137 MessageObjectHeader messageObjectHeader = new MessageObjectHeader
134138 {
@@ -138,16 +142,19 @@ private static byte[] Handler(MessageObject message)
138142 } ;
139143 var header = ProtoBufSerializerHelper . Serialize ( messageObjectHeader ) ;
140144 var messageData = ProtoBufSerializerHelper . Serialize ( message ) ;
141- var totalLength = ( uint ) ( header . Length + messageData . Length + InnerPackageHeaderLength ) ;
145+ var totalLength = messageData . Length + InnerPackageHeaderLength ;
142146 var buffer = new byte [ totalLength ] ;
143147 var offset = 0 ;
144- buffer . WriteUInt ( totalLength , ref offset ) ;
145- buffer . WriteUShort ( ( ushort ) header . Length , ref offset ) ;
146- buffer . WriteBytesWithoutLength ( header , ref offset ) ;
148+ buffer . WriteInt ( totalLength , ref offset ) ;
149+ buffer . WriteByte ( ( byte ) messageObjectHeader . OperationType , ref offset ) ;
150+ buffer . WriteByte ( ( byte ) messageObjectHeader . ZipFlag , ref offset ) ;
151+ buffer . WriteInt ( messageObjectHeader . UniqueId , ref offset ) ;
152+ buffer . WriteInt ( messageObjectHeader . MessageId , ref offset ) ;
153+ // buffer.WriteBytesWithoutLength(header, ref offset);
147154 buffer . WriteBytesWithoutLength ( messageData , ref offset ) ;
148- Console . WriteLine ( $ "客户端接发送信息:{ message . ToFormatMessageString ( ) } ") ;
155+ // Console.WriteLine($"客户端接发送信息:{message.ToFormatMessageString()}");
149156 return buffer ;
150157 }
151158
152- const ushort InnerPackageHeaderLength = 4 + 2 ;
159+ const ushort InnerPackageHeaderLength = 14 ;
153160}
0 commit comments