我想知道一些boost :: asio的机制

时间:2018-05-21 07:49:46

标签: c++ boost asio

我正在使用boost::asio来制作服务器。但我想知道asio的机制。让我们从一些伪代码开始:

伪代码(服务器)

async_read_some(MY::read1);

MY::read1() {
    async_read_some(MY::read1);
    async_write(someData);  // someData : "ABCD"
}

方案

  • 客户端:

    1. 将数据发送到服务器。

    2. 将数据发送到服务器。(尚未收集数据)。

    3. 从服务器收集数据。

    4. 现在我担心收到的数据是从服务器混合的。

      • 预期:“ABCD”“ABCD”

      • 错误:“AABBCDCD”

问题

我知道async_write函数保证按顺序排列。

因此,数据包的内容是否混合?

更新

这是对的吗?

async_read_some(MY::read1);

MY::read1() {
    async_write(someData, MY::write1);  // someData : "ABCD"
}

MY::write1() {
    async_read_some(MY::read1);
}

0 个答案:

没有答案