Учитывая два ориентированных на поток объектов ввода-вывода в Asio, что является самым простым способом пересылки данных с одного устройства на другое в обоих направлениях? Может ли это быть сделано с boost::iostreams::combination или boost::iostreams:copy возможно? Или это ручной подход лучше - ожидание данных на каждом конце, а затем запись его в другой поток? Другими словами, как можно использовать Boost и Asio для получения минимального количества кода?Есть ли элегантный способ подключения двух устройств/потоков в Асио?
Пример приложения будет транслироваться между последовательным портом и TCP-сокетом в соответствии с запросом в this question.
Этот блок блокируется до тех пор, пока входной поток не будет закрыт? Как насчет двунаправленных потоков? –
выход будет передаваться до тех пор, пока не будет достигнут конец файла, вам нужно будет изучить, как Asio реализует буфер; если конец файла отправляется, когда вход закрыт или нет. rdbuf() - метод std :: ios, поэтому он доступен как для std :: istream, так и для std :: ostream. – 2009-08-10 19:03:06