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
一步构建然后运行