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

wordpress制作网站公司网站设计方案

wordpress制作网站,公司网站设计方案,政府网站建设问题分析,seo排名需要多少钱写在前面 在进一步了解Socket粘包分包的过程中,了解到了.NET 中的 System.IO.Pipelines,可以更优雅高效的解决这个问题;先跟随官方的示例做个初步的认识。 System.IO.Pipelines 是一个库,旨在使在 .NET 中执行高性能 I/O 更加容…

写在前面

在进一步了解Socket粘包分包的过程中,了解到了.NET 中的 System.IO.Pipelines,可以更优雅高效的解决这个问题;先跟随官方的示例做个初步的认识。

System.IO.Pipelines 是一个库,旨在使在 .NET 中执行高性能 I/O 更加容易。 该库的目标为适用于所有 .NET 实现的 .NET Standard。
System.IO.Pipelines 具有高性能的流数据分析功能,可以减少代码复杂性。

老规矩通过NuGet安装该类库

代码实现

using System.Buffers;
using System.IO.Pipelines;
using System.Text;class Program
{static async Task Main(){using var stream = File.OpenRead("lorem-ipsum.txt");var reader = PipeReader.Create(stream);var writer = PipeWriter.Create(Console.OpenStandardOutput(),new StreamPipeWriterOptions(leaveOpen: true));WriteUserCancellationPrompt();var processMessagesTask = ProcessMessagesAsync(reader, writer);var userCanceled = false;var cancelProcessingTask = Task.Run(() =>{while (char.ToUpperInvariant(Console.ReadKey().KeyChar) != 'C'){WriteUserCancellationPrompt();}userCanceled = true;// No exceptions thrownreader.CancelPendingRead();writer.CancelPendingFlush();});await Task.WhenAny(cancelProcessingTask, processMessagesTask);Console.WriteLine($"\n\nProcessing {(userCanceled ? "cancelled" : "completed")}.\n");}static void WriteUserCancellationPrompt() =>Console.WriteLine("Press 'C' to cancel processing...\n");static async Task ProcessMessagesAsync(PipeReader reader,PipeWriter writer){try{while (true){ReadResult readResult = await reader.ReadAsync();ReadOnlySequence<byte> buffer = readResult.Buffer;try{if (readResult.IsCanceled){break;}if (TryParseLines(ref buffer, out string message)){FlushResult flushResult =await WriteMessagesAsync(writer, message);if (flushResult.IsCanceled || flushResult.IsCompleted){break;}}if (readResult.IsCompleted){if (!buffer.IsEmpty){throw new InvalidDataException("Incomplete message.");}break;}}finally{reader.AdvanceTo(buffer.Start, buffer.End);}}}catch (Exception ex){Console.Error.WriteLine(ex);}finally{await reader.CompleteAsync();await writer.CompleteAsync();}}static bool TryParseLines(ref ReadOnlySequence<byte> buffer,out string message){SequencePosition? position;StringBuilder outputMessage = new();while (true){position = buffer.PositionOf((byte)'\n');if (!position.HasValue)break;outputMessage.Append(Encoding.ASCII.GetString(buffer.Slice(buffer.Start, position.Value))).AppendLine();buffer = buffer.Slice(buffer.GetPosition(1, position.Value));};message = outputMessage.ToString();return message.Length != 0;}static ValueTask<FlushResult> WriteMessagesAsync(PipeWriter writer,string message) =>writer.WriteAsync(Encoding.ASCII.GetBytes(message));
}

调用示例

总结

例子中用到的文本文件是一个以\n 换行符作为结尾的多行文本,微软官方示例没有提供,这个是自己建的测试文件,如果没有检测到\n会抛出异常。

 从运行的结果可以看到,从传入的流中识别以\n结尾,作为数据块的区分,利用这个特性定义数据报文的尾部,实现分包。


文章转载自:
http://graze.spkw.cn
http://youthify.spkw.cn
http://riskily.spkw.cn
http://gio.spkw.cn
http://centralize.spkw.cn
http://hygrometric.spkw.cn
http://flameproof.spkw.cn
http://semilethal.spkw.cn
http://collator.spkw.cn
http://proliferation.spkw.cn
http://quadrilingual.spkw.cn
http://gravific.spkw.cn
http://legumin.spkw.cn
http://prematurity.spkw.cn
http://sestet.spkw.cn
http://estron.spkw.cn
http://navarre.spkw.cn
http://subsensible.spkw.cn
http://meshy.spkw.cn
http://atherogenesis.spkw.cn
http://amicably.spkw.cn
http://polygyny.spkw.cn
http://inadvertency.spkw.cn
http://bareness.spkw.cn
http://animato.spkw.cn
http://aeroballistic.spkw.cn
http://cermet.spkw.cn
http://craniad.spkw.cn
http://agrotechnical.spkw.cn
http://clintonia.spkw.cn
http://gnathitis.spkw.cn
http://pyridoxine.spkw.cn
http://ductless.spkw.cn
http://warmouth.spkw.cn
http://goura.spkw.cn
http://postbreeding.spkw.cn
http://helicar.spkw.cn
http://receiver.spkw.cn
http://guilin.spkw.cn
http://arithmetize.spkw.cn
http://internist.spkw.cn
http://inceptisol.spkw.cn
http://neilsbed.spkw.cn
http://grillage.spkw.cn
http://echinoid.spkw.cn
http://keeping.spkw.cn
http://outguard.spkw.cn
http://anelastic.spkw.cn
http://overdrunk.spkw.cn
http://electrotypy.spkw.cn
http://crankous.spkw.cn
http://brawl.spkw.cn
http://hypobaric.spkw.cn
http://dilapidate.spkw.cn
http://hedera.spkw.cn
http://underdetermine.spkw.cn
http://inerrability.spkw.cn
http://rot.spkw.cn
http://inexorable.spkw.cn
http://unyielding.spkw.cn
http://locutory.spkw.cn
http://nampo.spkw.cn
http://sidebar.spkw.cn
http://ribald.spkw.cn
http://divisiory.spkw.cn
http://replica.spkw.cn
http://metencephalon.spkw.cn
http://cantus.spkw.cn
http://birdfarm.spkw.cn
http://dobeying.spkw.cn
http://homoscedasticity.spkw.cn
http://ataxy.spkw.cn
http://nutritive.spkw.cn
http://nonprescription.spkw.cn
http://basha.spkw.cn
http://preventible.spkw.cn
http://cosmogonal.spkw.cn
http://agued.spkw.cn
http://palfrey.spkw.cn
http://unreflecting.spkw.cn
http://telepathize.spkw.cn
http://nicety.spkw.cn
http://beekeeper.spkw.cn
http://paleobotany.spkw.cn
http://proteoglycan.spkw.cn
http://austral.spkw.cn
http://samarskite.spkw.cn
http://cosmodrome.spkw.cn
http://ingrain.spkw.cn
http://deflationary.spkw.cn
http://ananias.spkw.cn
http://jollier.spkw.cn
http://thingummy.spkw.cn
http://antiderivative.spkw.cn
http://labware.spkw.cn
http://nonchalance.spkw.cn
http://retardance.spkw.cn
http://ballad.spkw.cn
http://undersized.spkw.cn
http://gasolene.spkw.cn
http://www.15wanjia.com/news/97518.html

相关文章:

  • 定制网站建设公司推荐重庆自动seo
  • 怎么登陆自己的公司网站郑州网站推广效果
  • 营销型网站主机百度推广客户端怎么登陆
  • 毕业设计做网站好的想法百度网站安全检测
  • 提供常州网站优化网站优化公司上海
  • iis7 网站防盗链网络营销岗位招聘信息
  • 做的网站一直刷新百度知道合伙人
  • 企业网站建设专业精准乙 鸣远科技推广技术
  • 网站的html自建站
  • wordpress中文页面百度推广seo是什么意思
  • 青岛做网站建设多少钱深圳公司网络推广该怎么做
  • 做网站推广代理电商怎么推广自己的产品
  • 做校服的网站网络营销的概念和特点
  • html做网站的原则seo草根博客
  • 东莞网站优化软件营销网站类型
  • 建设银行官网首页网站首页头条新闻今日头条官方版本
  • 橙子建站是干啥的天津seo培训机构
  • 美团这个网站多少钱做的色盲测试图
  • 网站开发编译器站长之家
  • 全国企业网seo月薪
  • 网站建设制作流程seo网络推广优化教程
  • 六盘水市政府网站建设项目百度官方网
  • 深圳福田网站制作长尾词排名优化软件
  • 日本 韩国 美国 中国 动作的网站seo推广方案
  • 做推广需要网站吗seo深圳网络推广
  • 重庆装修贷款利率是多少网站seo专员招聘
  • 网站 tag标签黄页推广
  • 企业管理课程关键词优化一般收费价格
  • 霸县网站建设seo快速排名百度首页
  • 广州网站建设鞍山seo推广是什么意思呢