use socket2::{Domain, Protocol, Socket, Type}; use std::mem::MaybeUninit; use std::net::Ipv4Addr; fn main() -> std::io::Result<()> { let sock = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112)))?; let _ = sock.join_multicast_v4( &Ipv4Addr::new(224, 0, 0, 18), &Ipv4Addr::UNSPECIFIED, )?; let mut buf = [MaybeUninit::::uninit(); 256]; let _ = sock.recv_from(&mut buf)?; Ok(()) }