Таким образом, код, который я начал с и который работает (с важными оговорками ниже)Попытки заменить мое подталкивание :: ASIO :: чтение с усилением :: ASIO :: async_read
int reply_length = boost::asio::read(*m_socketptr, boost::asio::buffer((char*)reply, 6));
Это работает, я получаю заголовок, который я затем декодирую и отслеживаю с другим чтением, которое получает мое сообщение, а затем я возвращаюсь к вершине и читаю другой заголовок. Это привязывает мой процессор на 100%, поэтому я хочу, чтобы заменить заголовок прочитал выше с чем-то вроде следующего:
m_socketptr->async_read_some(boost::asio::buffer(m_data, 6), boost::bind(&CSListener::handleRead, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
или
boost::asio::async_read(*m_socketptr, boost::asio::buffer(m_data, 6), boost::bind(&CSListener::handleRead, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
В любом случае я его код, метод handleRead не всегда получать называется. Помогите!?
ТИА
Не могли бы вы выслать больше кода? Это поможет узнать, как вы используете io_service и как обрабатываете дополнительный поток. – nabulke
Спасибо nabulke, это было неправильное использование io_service. – shaz