是否可以创建和发送零长度缓冲区

时间:2013-01-24 06:50:12

标签: c++ boost-asio

我需要在socket上发送大量小缓冲区。为此,我正在考虑使用ASIO库的分散 - 聚集功能。我认为scatter-gather比单独发送每个缓冲区更有效,在我的例子中它简化了完成处理程序的逻辑。

某些缓冲区可能为空。如果一个缓冲区是空的,可以添加它的tobuffer序列,还是应该跳过?

const_buffer课程。它具有创建空缓冲区的默认构造函数和从内存范围创建缓冲区的2参数构造函数。可以使用第二个构造函数创建一个空缓冲区吗?

1 个答案:

答案 0 :(得分:2)

是的,当然!正如我理解你的问题,有时你可能会发送一个空缓冲区,这相当于只发送TCP头(这将被视为发送 keep-alive ) - 这对TCP /来说是相当好的UDP ...

如果你已经发送了smth,你可能只是跳过一个空的缓冲区......或者不......没关系 - 最终的数据包在两个缓冲区之间没有任何差距。