Я читаю с 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
, чтобы принимать (теоретические) бесконечные объемы ввода и хранить его в контейнере?