tokio udp multicast chat
1.0.0
Contoh ini mengimplementasikan klien obrolan CLI yang sangat sederhana yang berkomunikasi melalui multicast UDP. Ini diimplementasikan dengan tokio crate, runtime asinkron untuk menulis aplikasi non-pemblokiran yang digerakkan oleh peristiwa dengan Rust.
Kodenya sepele, tapi ada satu detail menarik yang perlu diperhatikan. Untuk memungkinkan komunikasi antar instance pada host yang sama kita perlu mengaktifkan SO_REUSEADDR untuk soket UDP. Tokio API tidak memaparkan cara langsung untuk melakukan hal ini, kami malah menggunakan peti socket2 untuk membuat soket khusus yang kami tingkatkan ke std::net::UdpSocket dan kemudian menjadi tokio::net::UdpSocket .
cargo dan Rust saat ini$ git clone https://github.com/henninglive/tokio-udp-multicast-chat/ && cd tokio-udp-multicast-chat$ cargo build --release (CATATAN: Ada perbedaan kinerja yang besar saat kompilasi tanpa pengoptimalan, jadi saya sarankan untuk selalu menggunakan --release untuk mengaktifkannya)target/release/tokio-udp-multicast-chat$ cargo run --release untuk membangun dan kemudian menjalankan, dalam satu langkah