tokio udp multicast chat
1.0.0
يطبق هذا المثال عميل دردشة CLI بسيط للغاية والذي يتصل عبر البث المتعدد UDP. يتم تنفيذه باستخدام صندوق tokio، وهو وقت تشغيل غير متزامن لكتابة التطبيقات المستندة إلى الأحداث وغير المحظورة باستخدام Rust.
الكود تافه، ولكن هناك تفصيل واحد مثير للاهتمام يجب ملاحظته. للسماح بالاتصال بين المثيلات الموجودة على نفس المضيف، نحتاج إلى تمكين SO_REUSEADDR
لمقبس UDP. لا تعرض واجهة برمجة تطبيقات tokio طريقة مباشرة للقيام بذلك، بل نستخدم صندوق المقبس 2 لإنشاء مقبس مخصص نقوم بترقيته إلى std::net::UdpSocket
ثم إلى tokio::net::UdpSocket
.
cargo
والصدأ$ git clone https://github.com/henninglive/tokio-udp-multicast-chat/ && cd tokio-udp-multicast-chat
$ cargo build --release
(ملاحظة: هناك اختلاف كبير في الأداء عند التجميع بدون تحسينات، لذلك أوصي دائمًا باستخدام --release
لتمكينهم)target/release/tokio-udp-multicast-chat
$ cargo run --release
للبناء ثم التشغيل في خطوة واحدة