2015-06-05 3 views
1

Я учусь использовать Boost :: AsioBoost :: Asio - read или read_until?

Мне было интересно: когда следует использовать read_until? Когда следует использовать чтение?

Лучше ли указывать длину ваших данных в заголовке в начале вашего буфера данных или использовать разделитель с read_until?

ответ

4

Один не лучше другого.

Вы используете то, что требует ваш протокол.

Обычно

  • двоичные протоколов указать длину пакета фронта (отправив его первым)

  • текстовых протоколов, как правило, для структурирования информации с помощью разделителей (например, { ... } для JSON, как грамматик, или \r\n для SMTP/HTTP и т. Д.).

Естественно, вы бы использовать read_until для последнего

Смежные вопросы