说明
大数据固定包头,是对固定的包头模板的补充,一般来是,固定包头适配器,不能工作于超过2G的数据,但是在少数情况下,会有大量的数据传输需求。所以这部分的业务,可以用大数据固定包头实现。
实现
- 思路基本和固定包头一致,唯一的区别是,接收的数据分块,由用户自行决定保存。
 
/// <summary>/// 模板解析“大数据固定包头”数据适配器/// </summary>class MyBigFixedHeaderCustomDataHandlingAdapter : CustomBigFixedHeaderDataHandlingAdapter<MyBigFixedHeaderRequestInfo>{public override int HeaderLength => throw new NotImplementedException();protected override MyBigFixedHeaderRequestInfo GetInstance(){return new MyBigFixedHeaderRequestInfo();}}/// <summary>/// 下列示例,没有实现逻辑,仅解释思路。/// </summary>class MyBigFixedHeaderRequestInfo : IBigFixedHeaderRequestInfo{public long BodyLength => throw new NotImplementedException();public void OnAppendBody(byte[] buffer, int offset, int length){//在这里会一直追加数据体,用户自行实现数据的保存。}public bool OnFinished(){//触发该方法时,说明数据体接收完毕,返回true时,会触发Receive相关事件,否则不会。return true;}public bool OnParsingHeader(byte[] header){//解析头部return true;}}
