tokio udp multicast chat
1.0.0
Este exemplo implementa um cliente de chat CLI muito simples que se comunica por multicast UDP. Ele é implementado com o tokio crate, um tempo de execução assíncrono para escrever aplicativos não bloqueadores e orientados a eventos com o Rust.
O código é trivial, mas há um detalhe interessante a ser observado. Para permitir a comunicação entre instâncias no mesmo host, precisamos habilitar SO_REUSEADDR para o soquete UDP. A API tokio não expõe uma maneira direta de fazer isso; em vez disso, usamos a caixa socket2 para construir um soquete personalizado que atualizamos para std::net::UdpSocket e depois para um tokio::net::UdpSocket .
cargo e do Rust instalada$ git clone https://github.com/henninglive/tokio-udp-multicast-chat/ && cd tokio-udp-multicast-chat$ cargo build --release (NOTA: Há uma grande diferença de desempenho ao compilar sem otimizações, então recomendo sempre usar --release para habilitá-los)target/release/tokio-udp-multicast-chat$ cargo run --release para construir e depois executar, em uma única etapa