@@ -218,6 +218,10 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
218218 packageTotalLength = PACKAGE_TOTAL_LENGTH_LENGTH ;
219219
220220 //开始解密
221+ var encryptedBuffer = packageBuffer . Slice ( PACKAGE_TOTAL_LENGTH_LENGTH ) . ToArray ( ) ;
222+ var retBuffer = dec . TransformFinalBlock ( encryptedBuffer , 0 , encryptedBuffer . Length ) ;
223+ packageTotalLength += retBuffer . Length ;
224+ /*
221225 var encryptedBuffer = packageBuffer.Slice(PACKAGE_TOTAL_LENGTH_LENGTH);
222226 var inLength = 0;
223227 while (encryptedBuffer.Length > 0)
@@ -240,7 +244,7 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
240244 var finnalInLength = 0;
241245 if (inLength == dec.InputBlockSize)
242246 {
243- encryptBuffer1 [ 0 ] = ( byte ) enc . InputBlockSize ;
247+ decryptBuffer1 [0] = (byte)dec .InputBlockSize;
244248 finnalInLength = 1;
245249 }
246250 var finalData = dec.TransformFinalBlock(decryptBuffer1, 0, finnalInLength);
@@ -253,11 +257,14 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
253257 }
254258 _ = decryptPipe.Writer.FlushAsync();
255259 ret = await decryptPipe.Reader.ReadAtLeastAsync(packageTotalLength, token).ConfigureAwait(false);
260+ */
256261 //解密完成,释放缓存
257- currentReader . AdvanceTo ( packageBuffer . End ) ;
262+ currentReader ? . AdvanceTo ( packageBuffer . End ) ;
258263
259- packageBuffer = ret . Buffer ;
260- currentReader = decryptPipe . Reader ;
264+ //packageBuffer = ret.Buffer;
265+ packageBuffer = new ReadOnlySequence < byte > ( new byte [ PACKAGE_TOTAL_LENGTH_LENGTH ] . Concat ( retBuffer ) . ToArray ( ) ) ;
266+
267+ currentReader = null ; //decryptPipe.Reader;
261268 }
262269
263270 //如果设置了压缩
@@ -292,7 +299,7 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
292299 } ) ;
293300 ret = await decompressPipe . Reader . ReadAtLeastAsync ( packageTotalLength , token ) . ConfigureAwait ( false ) ;
294301 //解压完成,释放缓存
295- currentReader . AdvanceTo ( packageBuffer . End ) ;
302+ currentReader ? . AdvanceTo ( packageBuffer . End ) ;
296303 packageBuffer = ret . Buffer ;
297304 currentReader = decompressPipe . Reader ;
298305 }
@@ -312,7 +319,7 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
312319 BitConverter . ToString ( packageBuffer . ToArray ( ) )
313320 : LogUtils . NOT_SHOW_CONTENT_MESSAGE ) ;
314321 HandlePackage ( packageType , packageBuffer ) ;
315- currentReader . AdvanceTo ( packageBuffer . End ) ;
322+ currentReader ? . AdvanceTo ( packageBuffer . End ) ;
316323 }
317324 }
318325 catch ( Exception ex )
0 commit comments