@@ -25,10 +25,7 @@ public partial class Adapters : IDisposable
2525 private readonly CancellationTokenSource _connectTokenSource = new ( ) ;
2626 private readonly CancellationTokenSource _sendTokenSource = new ( ) ;
2727 private readonly CancellationTokenSource _receiveTokenSource = new ( ) ;
28- private readonly DataPackageAdapter _dataAdapter = new ( )
29- {
30- DataPackageHandler = new FixLengthDataPackageHandler ( 12 )
31- } ;
28+ private readonly DataPackageAdapter _dataAdapter = new ( new FixLengthDataPackageHandler ( 12 ) ) ;
3229 private bool _useDataAdapter = true ;
3330
3431 /// <summary>
@@ -46,13 +43,14 @@ protected override void OnInitialized()
4643 // 设置本地使用的 IP地址与端口
4744 options . LocalEndPoint = new IPEndPoint ( IPAddress . Loopback , 0 ) ;
4845 } ) ;
46+
47+ // 此处代码分开写是为了判断 _useDataAdapter 参数
4948 _client . ReceivedCallBack += OnReceivedAsync ;
49+ _dataAdapter . ReceivedCallBack = UpdateReceiveLog ;
50+
51+ // 实战中可以通过下面一句话设置数据适配器与回调方法
52+ // _client.SetDataPackageAdapter(_dataAdapter, UpdateReceiveLog);
5053
51- _dataAdapter . ReceivedCallBack += async data =>
52- {
53- // 直接处理接收的数据
54- await UpdateReceiveLog ( data ) ;
55- } ;
5654 }
5755
5856 private async Task OnConnectAsync ( )
@@ -102,7 +100,7 @@ private async ValueTask OnReceivedAsync(ReadOnlyMemory<byte> data)
102100 }
103101 }
104102
105- private async Task UpdateReceiveLog ( ReadOnlyMemory < byte > data )
103+ private async ValueTask UpdateReceiveLog ( ReadOnlyMemory < byte > data )
106104 {
107105 var payload = Encoding . UTF8 . GetString ( data . Span ) ;
108106 var body = BitConverter . ToString ( data . ToArray ( ) ) ;
0 commit comments