boost :: asio :: buffer с динамическим размером

Я читаю из boost :: asio :: ip :: udp :: socket следующим образом:

using boost::asio::ip::udp;

// ...

char recv_buf[128];
udp::endpoint sender_endpoint;
size_t len = socket.receive_from(boost::asio::buffer(recv_buf), sender_endpoint);

Теперь это работает отлично, но максимальное количество символов, которое я могу получить, теперь составляет 127. Однако я столкнулся с проблемой, потому что мне нужно принять ввод некоторых данных, длина которых может сильно варьироваться (и не хорошо определенной длины с префиксом заголовков, например). Решением этой проблемы может быть динамически расширяющийся буфер, например вектор. Можно ли создать динамически расширяющийся boost :: asio :: buffer для принимать (теоретически) бесконечное количество входных данных и хранить их в контейнере?

7
задан orlp 8 May 2011 в 22:16
поделиться