tokio udp multicast chat
1.0.0
此範例實作了一個非常簡單的 CLI 聊天用戶端,它透過 UDP 多播進行通訊。它是透過 tokio crate 實現的,tokio crate 是一個非同步運行時,用於使用 Rust 編寫事件驅動的非阻塞應用程式。
程式碼很簡單,但有一個有趣的細節需要注意。為了允許同一主機上的實例之間進行通信,我們需要為 UDP 套接字啟用SO_REUSEADDR
。 tokio API 沒有公開執行此操作的直接方法,而是使用 socket2 箱來建構自訂套接字,並將其升級到std::net::UdpSocket
,然後升級到tokio::net::UdpSocket
。
cargo
和 Rust$ 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
一步建構然後運行