我正在使用boost::asio
来制作服务器。但我想知道asio的机制。让我们从一些伪代码开始:
async_read_some(MY::read1);
MY::read1() {
async_read_some(MY::read1);
async_write(someData); // someData : "ABCD"
}
客户端:
将数据发送到服务器。
将数据发送到服务器。(尚未收集数据)。
从服务器收集数据。
现在我担心收到的数据是从服务器混合的。
预期:“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);
}