Это должно быть в порядке.Как еще вы могли бы выполнять полнодуплексную асинхронную связь для одного сервиса?Для поступающих данных необходимо постоянно получать выдачу.
Документы Boost указывают только на то, что каждый из async_read
и async_write
должен вызываться последовательно.Например, для async_read
:
Программа должна убедиться, что поток не выполняет никаких других операций чтения (таких как async_read, функция async_read_some потока или любые другие составные операции, которые выполняют чтение) до этогооперация завершена.
Документы для socket
не являются специфическими на данный момент, это правда.