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

游戏网站建设表格新余建站公司

游戏网站建设表格,新余建站公司,vue可以做pc网站吗,网页打不开怎么修复写在前面 在进一步了解Socket粘包分包的过程中#xff0c;了解到了.NET 中的 System.IO.Pipelines#xff0c;可以更优雅高效的解决这个问题#xff1b;先跟随官方的示例做个初步的认识。 System.IO.Pipelines 是一个库#xff0c;旨在使在 .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();ReadOnlySequencebyte 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 ReadOnlySequencebyte 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 ValueTaskFlushResult WriteMessagesAsync(PipeWriter writer,string message) writer.WriteAsync(Encoding.ASCII.GetBytes(message)); } 调用示例 总结 例子中用到的文本文件是一个以\n 换行符作为结尾的多行文本微软官方示例没有提供这个是自己建的测试文件如果没有检测到\n会抛出异常。 从运行的结果可以看到从传入的流中识别以\n结尾作为数据块的区分利用这个特性定义数据报文的尾部实现分包。
http://www.hkea.cn/news/14385482/

相关文章:

  • 多网站绑定域名美团网站开发合作商
  • 高端网站建设系统vs做网站各种控件的使用
  • 六安做网站购买深圳网站定制开发
  • 龙岗区住房和建设局官方网站医生在线咨询
  • 室内装饰公司网站模板国外优质网站
  • 关于网站建设的标语服务网站排名咨询
  • 石家庄网站快速优化排名搜索引擎外部链接优化
  • 如何找工程项目信息做站群网站好优化吗
  • 广东建设网站首页深圳货拉拉
  • 响应式网站的原理零售空间设计公司
  • 品展示设计网站黄山旅游
  • wordpress里验证谷歌站长百度seo软件
  • 苏州免费模板建站怎么做seo网站推广
  • 宜兴网站制作红色展览馆设计主题及创意
  • 游戏工作室网络组建方案百度小程序优化合作公司
  • 在微信上做彩票网站吗天推广人的网站
  • 网站建设实验心得烟台网站改版
  • 北京建设职工大学网站wordpress常量
  • .net网站源码下载免费申请信用卡
  • 网站推广广告 优帮云wordpress 电子杂志
  • 营销型建设网站装修设计平台有哪些
  • 男女做那个的免费视频网站wordpress 镜像插件
  • 菜篮网网站开发技术无锡网站设计制作
  • 怎么用自己的电脑做网站主机动漫是如何制作出来的
  • 青岛网站设计公司联系方式深圳网站建设怎么样
  • 微商可以做网站推广吗制作网页按钮
  • 怎么建一个购物网站企业网站 自助建站
  • 做资金盘网站违法吗wordpress实现多用户
  • 安云自助建站系统源码网站建设运营岗位职责
  • 承接网站建设广告语新公司的公司简介怎么写