есть идеи, почему stream.flush();
не сработает?
boost::asio::ip::tcp::iostream stream("localhost","5000");
assert(stream.good());
stream << 1;
stream.flush();
while(true);
сбрасывается, только если петля удалена и строка
boost::this_thread::sleep(boost::posix_time::seconds(1));
выполняется (намного позже).
Спасибо
Обновление:
Я сделал еще несколько отладок, и проблема на самом деле не в команде сброса. Если я позволю своему коду подключиться к серверу netcat, все будет работать нормально. Я предполагаю, что проблема заключается в том, что и клиент, и сервер находятся в одном и том же процессе (я создаю две угрозы, одна действует как сервер, а другая как клиент). Когда я помещаю их в отдельные процессы, все работает нормально, но когда оба находятся в одном и том же процессе, передача останавливается до тех пор, пока не будет вызван режим сна ... (это только для целей тестирования, позже оба будут работать на разных серверах).
Платформа - WindowsXP.
Есть идеи, почему это происходит?