当前位置: 首页 > news >正文

网站建设阿胶膏的作用上海专业网站建站品牌

网站建设阿胶膏的作用,上海专业网站建站品牌,福永网站建设公司有没有,常州网站建设维护一、基本介绍 在C#中,单线程流式适配器通常用于处理流式数据,如网络通信或文件操作中的连续数据流。这些数据流可能是有序的,并且数据包之间可能会发生粘连,即没有明确的分界线,导致粘包和半包问题。解决这些问题的关键…

一、基本介绍

        在C#中,单线程流式适配器通常用于处理流式数据,如网络通信或文件操作中的连续数据流。这些数据流可能是有序的,并且数据包之间可能会发生粘连,即没有明确的分界线,导致粘包和半包问题。解决这些问题的关键在于识别数据包的标识和顺序。

二、简单操作

流式单线程适配器的基本概念

流式单线程适配器在TouchSocket框架中被定义为处理有序流式数据的核心组件,它负责解析数据,包括解决数据的粘连和分包问题,以及将收到的数据解析为数据对象。

实现流式单线程适配器

在C#中,可以通过自定义适配器来实现流式单线程处理。以下是一个简单的示例,展示了如何使用Streambyte数组来读取和写入数据,同时处理粘包问题:

class Program
{static void Main(string[] args){var directory = Directory.GetCurrentDirectory();var program = File.Open("Program.cs", FileMode.OpenOrCreate);var buffers = new byte[1024]; // 创建一个8k的缓存区var list = new List<byte>();while (true){int length = program.Read(buffers, 0, buffers.Length);if (length <= 0){break;}list.AddRange(buffers.Take(length));}program.Close();Console.WriteLine($"已读取:{list.Count}");var tempr = File.Open("Program_01.cs", FileMode.OpenOrCreate);tempr.Write(list.ToArray(), 0, list.Count);tempr.Close();}
}

使用流适配器

C#中的流适配器,如StreamReaderStreamWriter,提供了一种简化的方法来处理流数据。这些适配器封装了流操作,使得读写操作更加方便。例如,StreamReader可以按行读取文本,而StreamWriter可以写入文本并自动处理换行。

自定义流式单线程适配器

在更复杂的应用中,可能需要自定义流式单线程适配器来处理特定的协议或数据格式。这通常涉及到解析数据头和数据体,以及处理数据的顺序和完整性。以下是一个自定义适配器的示例,它展示了如何读取和解析数据:

var pos = byteBlock.Position; // 记录初始游标位置,防止本次无法解析时,回退游标。
var myRequestInfo = new MyRequestInfo();
// 此操作实际上有两个作用,
// 1.填充header
// 2.将byteBlock.Pos递增3的长度。
var header = byteBlock.ReadToSpan(3); // 填充header
var bodyLength = (byte)(header[0] - 2);
if (bodyLength > byteBlock.CanReadLength)
{// body数据不足。byteBlock.Position = pos; // 回退游标return FilterResult.Cache;
}
else
{// 此操作实际上有两个作用,// 1.填充body// 2.将byteBlock.Pos递增bodyLength的长度。var body = byteBlock.ReadToSpan(bodyLength);myRequestInfo.DataType = header[1];myRequestInfo.OrderType = header[2];myRequestInfo.Body = body.ToArray();request = myRequestInfo; // 赋值refreturn FilterResult.Success; // 返回成功
}

http://www.yingshimen.cn/news/593/

相关文章:

  • 专注服务于站长和网站的信息平台.自己制作头像app软件
  • windows2008做网站本地wordpress 慢
  • 创建公司网站移动电商网站开发
  • 给网站定位首都航空公司官方网站
  • 东莞想做网站wordpress 视差模板
  • 柳州做网站去哪家公司好wordpress 商业授权
  • 手机网站推广服务网页颜色搭配案例
  • 万网网站开发网页设计代码开头
  • 英文网站开发公司哪家好如何查企业的工商信息
  • 网站侵权 做网站有责任吗广州地铁微博
  • 青岛网站建设方案优化免费的公司起名网
  • 如何做qq钓鱼网站群晖nas可以做网站服务器
  • 免费制作网站平台哪个好爱企查商标查询
  • 石家庄网站建设招聘天元建设集团有限公司年产值
  • 网站建设服务专业常德网
  • 买app的网站建设建一个网站需要多长时间
  • 可以做本地生活服务的有哪些网站全国有名的网站建设公司
  • 做网站seo优化的公司做宣传用什么网站好
  • 关键词挖掘ppt福州seo顾问
  • p2p网站建设多少钱西安企业建站系统模板
  • 一起做网店网站济南网站建设内容设计
  • 网站备案网站类型查企业免费的网站
  • 想学网站建设开发微信小程序开通流程
  • 大连最好的做网站的公司装修公司网站asp源码
  • 阿里云备案增加网站wordpress性能承载量
  • 网站建设营销策划书WordPress问答插件路由
  • 网站安全建设工作总结情侣网站建设策划书
  • 无锡建设机械网站制作网站建设前言
  • 网站建设公司软件开新闻类网站设计
  • 白山做网站临沂品牌网站制作