@@ -298,15 +298,34 @@ public async Task FixLengthDataPackageHandler_Ok()
298298 var port = 8884 ;
299299 var server = StartTcpServer ( port , MockSplitPackageAsync ) ;
300300 var client = CreateClient ( ) ;
301+ var tcs = new TaskCompletionSource ( ) ;
302+ var receivedBuffer = new byte [ 1024 ] ;
303+
304+ // 设置数据适配器
305+ var adapter = new DataPackageAdapter
306+ {
307+ DataPackageHandler = new FixLengthDataPackageHandler ( 7 ) ,
308+ ReceivedCallBack = buffer =>
309+ {
310+ // buffer 即是接收到的数据
311+ buffer . CopyTo ( receivedBuffer ) ;
312+ receivedBuffer = receivedBuffer [ ..buffer . Length ] ;
313+ tcs . SetResult ( ) ;
314+ return ValueTask . CompletedTask ;
315+ }
316+ } ;
317+
318+ client . ReceivedCallBack = async buffer =>
319+ {
320+ // 将接收到的数据传递给 DataPackageAdapter
321+ await adapter . ReceiveAsync ( buffer ) ;
322+ } ;
301323
302324 // 测试 ConnectAsync 方法
303325 var connect = await client . ConnectAsync ( "localhost" , port ) ;
304326 Assert . True ( connect ) ;
305327 Assert . True ( client . IsConnected ) ;
306328
307- var tcs = new TaskCompletionSource ( ) ;
308- ReadOnlyMemory < byte > receivedBuffer = ReadOnlyMemory < byte > . Empty ;
309-
310329 // 测试 SendAsync 方法
311330 var data = new ReadOnlyMemory < byte > ( [ 1 , 2 , 3 , 4 , 5 ] ) ;
312331 var result = await client . SendAsync ( data ) ;
@@ -315,9 +334,6 @@ public async Task FixLengthDataPackageHandler_Ok()
315334 await tcs . Task ;
316335 Assert . Equal ( receivedBuffer . ToArray ( ) , [ 1 , 2 , 3 , 4 , 5 , 3 , 4 ] ) ;
317336
318- // 模拟延时等待内部继续读取逻辑完成,测试内部 _receiveCancellationTokenSource 取消逻辑
319- await Task . Delay ( 10 ) ;
320-
321337 // 关闭连接
322338 await client . CloseAsync ( ) ;
323339 StopTcpServer ( server ) ;
0 commit comments