Boost :: Asio - read还是read_until?

时间:2015-06-05 13:00:56

标签: c++ boost-asio

我正在学习使用Boost :: Asio

我在想:什么时候应该使用read_until?我什么时候应该阅读?

最好在数据缓冲区开头的标题中指定数据的长度,还是使用带有read_until的分隔符?

1 个答案:

答案 0 :(得分:4)

一个并不比另一个好。

您使用协议所需的内容。

通常

  • 二进制协议预先指定数据包长度(通过先发送)

  • 文本协议倾向于使用分隔符来构造信息(例如{ ... }用于JSON(如语法)或\r\n用于SMTP / HTTP等)。

当然,你会使用read_until作为后者