Я пытаюсь ускорить Socket Server некоторые данные POST. Для его чтения я использую async_read_some , я понимаю, что сервер получает данные по блокам, затем вспоминаю метод чтения, но как узнать, когда он читает все данные? ... Пример кода:
личное:
void do_handshake()
{
auto self(shared_from_this());
socket_.async_handshake(boost::asio::ssl::stream_base::server,
[this, self](const boost::system::error_code& error)
{
if (!error)
{
do_read();
}
});
}
void do_read()
{
auto self(shared_from_this());
socket_.async_read_some(boost::asio::buffer(data_),
[this, self](const boost::system::error_code& ec, std::size_t length)
{
if (!ec)
{
do_read();
/*Something do with receive data */
write("send answer");
}
});
}
void do_write(std::string SendData)
{
auto self(shared_from_this());
boost::asio::async_write(socket_, boost::asio::buffer(SendData),
[this, self](const boost::system::error_code& ec,
std::size_t /*length*/)
{
if (!ec)
{
do_read();
}
});
}
Пожалуйста, помогите, спасибо!