какие значения я могу передать атрибуту message_flags в stream_socket_service :: receive - PullRequest
2 голосов
/ 24 июня 2011

Я пытаюсь использовать socket::receive в boost asio для получения данных по сети.Я хочу, чтобы он блокировался, пока не будет доступен определенный размер данных.Для этого кажется, что мне придется установить аргумент message_flag для функции приема, но я не могу найти информацию о том, какое значение я могу передать, чтобы получение было заблокировано, пока не станет доступен определенный объем данных.Все, что я видел, это целое число.

Может кто-нибудь сказать мне, какие допустимые значения могут быть переданы?

1 Ответ

2 голосов
/ 24 июня 2011

Для этого кажется, что мне придется установить аргумент message_flag в функция приема

Это неверно. Имеются перегрузки в async_read или read free. Они будут читать столько байтов, сколько вы запрашиваете, исходя из размера буфера:

Примечания

Эта перегрузка эквивалентна вызов:

повышение :: ASIO :: прочитать ( s, буферы, повышение :: ASIO :: transfer_all ());

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...