smoltcp — Crate 詳細
smoltcp
Mature no_std
ヒープなし・ベアメタル・リアルタイム環境を意識した TCP/IP スタック。Ethernet や IEEE 802.15.4 などの下位デバイスと組み合わせ、組み込み機器で IP 通信を実装する基盤になります。
A TCP/IP stack designed for bare-metal, real-time systems without a heap.
smoltcp は、組み込み Rust で IP スタックを自前で持ちたい場合の代表的な選択肢です。Embassy の embassy-net も内部で smoltcp の設計と近い領域を扱うため、より低レベルにネットワークスタックを制御したい場合に検討します。
コード例
実際の通信には device, interface, sockets, storage の構成が必要です。
#![no_std]
use smoltcp::wire::{IpAddress, IpEndpoint, Ipv4Address};
pub fn endpoint() -> IpEndpoint { IpEndpoint::new(IpAddress::Ipv4(Ipv4Address::new(192, 168, 1, 10)), 1234)}