书接上回,我们上回探讨了如何解决TCP粘包和半包的问题,并在最后引入了环形缓冲区的概念。虽然环形缓冲区主要是通过固定数组+读写索引+模运算来实现循环,但是实际开发过程中,还存在手动管理 offset、count,数组扩容、数据移动,容易越界、内存拷贝多等一系列的问题。
.NET上位机踩坑:用Pipelines替代环形缓冲区(番外篇)
未经允许不得转载:小狮博客 » .NET上位机踩坑:用Pipelines替代环形缓冲区(番外篇)
书接上回,我们上回探讨了如何解决TCP粘包和半包的问题,并在最后引入了环形缓冲区的概念。虽然环形缓冲区主要是通过固定数组+读写索引+模运算来实现循环,但是实际开发过程中,还存在手动管理 offset、count,数组扩容、数据移动,容易越界、内存拷贝多等一系列的问题。