summaryrefslogtreecommitdiff
path: root/src/main.rs
blob: 6f2b133ebdd3afd896534bc6b34e7d6beac71de7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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::<u8>::uninit(); 256];
    let _ = sock.recv_from(&mut buf)?;
    Ok(())
}