سؤال

ما هو الفرق بين الدعوة وظائف الأعضاء boost::asio::ip::tcp::socket / read_some write_some واستدعاء وظائف خالية boost::asio::read / boost::asio::write؟

وبشكل أكثر تحديدا:

هل هناك أي فائدة لاستخدام واحد على الآخر؟

وماذا كلاهما واردان في المكتبة؟

هل كانت مفيدة؟

المحلول

وread_some وwrite_some قد ترجع في أقرب وقت كما تم نقل حتى بايت واحد. على هذا النحو تحتاج إلى حلقة إذا كنت ترغب في التأكد من الحصول على كافة البيانات - ولكن هذا قد يكون ما تريد

.

وظائف الحرة هي مغلفة حول read_some وwrite_some، ولها شروط إنهاء مختلفة اعتمادا على الزائد. وعادة ما تنتظر المخزن المؤقت على أن يتم تحويلها بالكامل (أو يحدث خطأ، أو في بعض الزائدة شرط اكتمال صريحة إلى أن يحدث)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top