对于IoArgs作用的疑问

来源:9-9 消息分片传输设计与实现-1

weixin_慕莱坞8108303

2023-02-13

老师,在项目中IoArgs的作用主要是在packet和真实发送接收之间做缓冲的吗,比较好奇为什么需要这种缓冲,它对于实际发送会有什么样的好处?

写回答

1回答

Qiujuer

2023-02-17

IoArgs 可以算是我们分层结构中的一个必要产物,目的在于将数据分成更小的可管理的单元再进行发送;当然咱们课程的IoArgs并非最好的方案,最优的方案也应该存在IoArgs的类,但内部应该仅仅存储状态+数据偏移位来做到对数据的管理;尽可能少的对数据进行多次copy操作;当然课程本身简化了这里的工作量。

Frame\IoArgs\Packet 

几个类组成了整个传输的不同层次,而不同层之间存在不同的调度,消费方式,所以如果仅仅传递一个Packet到全局,这势必会让Packet内部增加非常多的状态变量来维持不同层的运转,但这必然会让代码变得臃肿不可维护;从代码设计来说应当尽量避免这样的情况。

以上是一些我当初设计时的想法,希望能为你解惑

0
0

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程