我正在学习使用 Boost::Asio
我在想:什么时候应该使用 read_until ?我什么时候应该使用 read ?
是在数据缓冲区开头的 header 中指定数据长度更好,还是在 read_until 中使用定界符更好?
最佳答案
一个并不比另一个好。
您使用协议(protocol)要求的内容。
通常
二进制协议(protocol)预先指定数据包长度(通过先发送)
文本协议(protocol)倾向于使用分隔符来构造信息(例如
{ ... }
用于 JSON 类语法,或\r\n
用于 SMTP/HTTP 等).
对于后者,您自然会使用 read_until
关于c++ - Boost::Asio - 读还是读到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667221/