tokio udp multicast chat
1.0.0
Cet exemple implémente un client de discussion CLI très simple qui communique via la multidiffusion UDP. Il est implémenté avec Tokio Crate, un environnement d'exécution asynchrone permettant d'écrire des applications non bloquantes et basées sur des événements avec Rust.
Le code est trivial, mais il y a un détail intéressant à noter. Pour permettre la communication entre les instances sur le même hôte, nous devons activer SO_REUSEADDR pour le socket UDP. L'API tokio n'expose pas de moyen direct de le faire, nous utilisons à la place la caisse socket2 pour construire un socket personnalisé que nous mettons à niveau vers std::net::UdpSocket puis vers un tokio::net::UdpSocket .
cargo et Rust est installée$ git clone https://github.com/henninglive/tokio-udp-multicast-chat/ && cd tokio-udp-multicast-chat$ cargo build --release (REMARQUE : il existe une grande différence de performances lors de la compilation sans optimisations, je recommande donc de toujours utiliser --release pour les activer)target/release/tokio-udp-multicast-chat$ cargo run --release pour construire puis exécuter, en une seule étape