هل هناك طريقة أنيقة لسد جهازين / تيارات في آسيو؟
-
12-09-2019 - |
سؤال
نظرا اثنين من كائنات I / O موجهة نحو الدفق في في, ، ما هي أبسط طريقة لإعادة توجيه البيانات من جهاز إلى الآخر في كلا الاتجاهين؟ هل يمكن القيام بذلك دفعة :: مزيج IOSTREAMS :: أو دفعة :: 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();
}
لا تنتمي إلى StackOverflow