Есть ли элегантный способ соединить два устройства/потока в Asio?

StackOverflow https://stackoverflow.com/questions/1249750

Вопрос

Учитывая два потокоориентированных объекта ввода-вывода в Азио, как проще всего переслать данные с одного устройства на другое в обоих направлениях?Можно ли это сделать с boost::iostreams::комбинация или boost::iostreams:копировать возможно?Или лучше использовать ручной подход — ждать данных на каждом конце, а затем записывать их в другой поток?Другими словами, как можно использовать Способствовать росту и Азио создать минимальное количество кода?

Примером приложения может быть потоковая передача между последовательным портом и TCP-сокетом, как указано в разделе этот вопрос.

Это было полезно?

Решение

Со стандартными потоками C++ вы можете делать следующее. Разве вы не можете сделать что-то подобное с Asio?

// Read all data from in and write to out.
void forward_data( std::istream& in, std::ostream& out )
{
  out << in.rdbuf();
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top