diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/main.rs b/src/main.rs index aca7b97..6f2b133 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,23 +2,13 @@ use socket2::{Domain, Protocol, Socket, Type}; use std::mem::MaybeUninit; use std::net::Ipv4Addr; -fn main() { - let res = Socket::new(Domain::IPV4, Type::RAW, Some(Protocol::from(112))); - let Ok(sock) = res else { - eprintln!("Socket::new(): {}", res.err().unwrap()); - std::process::exit(1); - }; - let res = sock.join_multicast_v4( +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 Ok(_) = res else { - eprintln!("join_multicast_v4(): {}", res.err().unwrap()); - std::process::exit(1); - }; - let mut buf = [MaybeUninit::<u8>::uninit()]; - let Ok(_) = sock.recv_from(&mut buf) else { - eprintln!("Socket::recv_from(): {}", res.err().unwrap()); - std::process::exit(1); - }; + )?; + let mut buf = [MaybeUninit::<u8>::uninit(); 256]; + let _ = sock.recv_from(&mut buf)?; + Ok(()) } |