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

怎么查网址是不是诈骗网站百度问一问官网

怎么查网址是不是诈骗网站,百度问一问官网,手机制作ppt的步骤图解,想给公司做个网站 怎么做写在前面 在进一步了解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://www.15wanjia.com/news/53795.html

相关文章:

  • 网站建设运用软件成都竞价托管多少钱
  • iis7.5 网站配置百度号码认证平台官网首页
  • 做个自己的影院网站怎么做冯耀宗seo课程
  • 本地的南通网站建设乐陵seo优化
  • 企业宣传册范例优化营商环境的金句
  • 做网站推广优化靠谱外链推广
  • 迅速百度网站自然排名营销神器
  • 做网站的法律网络黄页推广软件
  • 延边州网站建设网站搭建工具
  • 宝安附近公司做网站建设多少钱网络营销题库案例题
  • 免费做链接的网站宁波seo关键词优化
  • 学做网站论坛好吗品牌关键词优化哪家便宜
  • 企业网站flash动画百度联盟个人怎么接广告
  • 象山企业门户网站建设网站优化是什么
  • 自己网站制作的详细教程搜索引擎广告形式有哪些
  • 世界各大网站搜索引擎提交入口做营销型网站哪家好
  • 内网网站开发报价百度上怎么注册店铺地址
  • 开发公司安全工作总结汇报seo指的是什么意思
  • 美容类 营销型网站某个产品营销推广方案
  • 响应式网站用什么单位网络整合营销4i原则
  • 做跨境电商的血泪教训宁波seo网站服务
  • 网站logo在哪里修改商务软文写作300字
  • 做企业网站建设挣钱吗seo入门基础知识
  • 常德政务网站电商营销策略
  • 网站怎么进怎么上百度搜索
  • 深圳微网站制作关键词数据分析
  • 仿起点小说网站开发代发推广百度首页包收录
  • 网站建设后台程序用什么语言怎么弄一个自己的链接
  • 成都网站建设成都网站制作湖南网站建设推广
  • 网站滑动关键词数据