Вот мой код:подталкивания ASIO, async_read ошибка
void do_read_header()
{
std::string incoming_header;
boost::asio::async_read(socket_, boost::asio::buffer(incoming_header, incoming_header.length()), [this, incoming_header](boost::system::error_code ec, std::size_t)
{
if (!ec && check_message(incoming_header))
{
do_read_body();
}
//else
//{
// socket_.close();
//}
});
}
void do_read_body()
{
std::string incoming_message;
boost::asio::async_read(socket_, boost::asio::buffer(incoming_message, incoming_message.length()), [this, incoming_message](boost::system::error_code ec, std::size_t)
{
if (!ec)
{
std::cout.write(incoming_message.c_str(), incoming_message.length());
std::cout << "\n";
//do_read_header();
//}
//else
//{
socket_.close();
}
});
}
Это модифицированная версия этого: http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp
Что случилось с моим кодом?
какая ошибка у вас возникла? Объясните crearly ,, –
нашел это, incoming_header должен быть char * ... – Zerox
что самое быстрое с точки зрения скорости выполнения способ преобразования строки в char * – Zerox