Boost::Asio - 阅读或 read_until?
Boost::Asio - read or read_until?
我正在学习使用Boost::Asio
我想知道:什么时候应该使用 read_until?我应该什么时候使用阅读?
是在数据缓冲区开头的 header 中指定数据长度更好,还是在 read_until 中使用定界符更好?
一个并不比另一个好。
您使用协议要求的内容。
通常
二进制协议预先指定数据包长度(先发送)
文本协议倾向于使用定界符来构建信息(例如 { ... }
用于 JSON 等语法,或 \r\n
用于 SMTP/HTTP 等)。
对于后者,您自然会使用 read_until
我正在学习使用Boost::Asio
我想知道:什么时候应该使用 read_until?我应该什么时候使用阅读?
是在数据缓冲区开头的 header 中指定数据长度更好,还是在 read_until 中使用定界符更好?
一个并不比另一个好。
您使用协议要求的内容。
通常
二进制协议预先指定数据包长度(先发送)
文本协议倾向于使用定界符来构建信息(例如
{ ... }
用于 JSON 等语法,或\r\n
用于 SMTP/HTTP 等)。
对于后者,您自然会使用 read_until