У меня есть соединение asio sync.ioService находится в одном потоке (у меня только один поток.).
Меньшая проблема:
boost::asio::async_write(m_socket, boost::asio::buffer(requestStr.data(), requestStr.size()), handler);
Обработчик никогда не вызывается, но сервер получает его иответы, которые я получаю.
Большая проблема:
boost::asio::async_read_until(m_socket, sbuf, '\n', sendingHandler);
Он также не вызывает обработчик. sbuf немедленно заполняется, и я могу прочитать его там, но я не знаю положение делиминатора.Поэтому мне нужен обработчик для получения параметра bytes_transferred .(Я не собираюсь повторять буфер.)
Я попробовал несколько вещей, и я мог бы вызвать обработчик один раз, но я не помню, в чем была проблема после небольшого рефракта.Любая помощь?Спасибо!
Когда я использовал синхронизирующие сообщения, все было хорошо, но времени ожидания там нет.
РЕДАКТИРОВАТЬ: Если вы знаете какое-либо хорошее решение для поиска разделителя, мне не нужен обработчик,Потому что я бы отправил msg sync_write и прочитал async.