2017-07-28 27 views
0

背后读取字符按照boost::asio::read_until文档:我不明白,为什么提高:: ASIO :: read_until分隔符

成功read_until操作后,流缓冲可能含有超出分隔符附加数据。应用程序通常会将该数据留在streambuf中以供后续的read_until操作检查。

我不明白为什么会发生这种情况。

是因为在TCP协议中,如果你没有读取所有可用的字符,你可能会失去它们?

回答

1

因为如果它只读直到你想要的字符,它将不得不一次执行一个单字符读取。这将是非常低效的。

相关问题