tokio udp multicast chat
1.0.0
この例では、UDP マルチキャスト経由で通信する非常に単純な CLI チャット クライアントを実装します。これは、Rust でイベント駆動型のノンブロッキング アプリケーションを作成するための非同期ランタイムである tokio crate で実装されています。
コードは簡単ですが、注目すべき興味深い詳細が 1 つあります。同じホスト上のインスタンス間の通信を許可するには、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使用して 1 ステップでビルドして実行します