Как сказано в документации:
Операция receive()
может не получить все запрошенное количество
байт. Рассмотрите возможность использования функции read()
, если вам необходимо убедиться, что
запрошенный объем данных считывается перед операцией блокировки
завершается.
Если вы действительно имели в виду read_some()
, тогда нет никакой разницы. receive()
- функция, специфичная для сокетов, тогда как read_some()
- универсальная функция, доступная для всех потоков asio. (очень похоже на std::string
length()
и size()
)