Function all_ipv4_interfaces

Source
pub fn all_ipv4_interfaces() -> Result<Vec<Ipv4Addr>>
Examples found in repository?
examples/mdns.rs (line 10)
4fn main() {
5    let mdns_multicast_address = SocketAddrV4::new([224, 0, 0, 251].into(), 5353);
6
7    // Validate that building with options works with the public API
8    let with_options = MulticastSocket::with_options(
9        mdns_multicast_address,
10        multicast_socket::all_ipv4_interfaces()
11            .expect("could not fetch all interfaces for options"),
12        multicast_socket::MulticastOptions {
13            ..Default::default()
14        },
15    )
16    .expect("validate that we are starting with options");
17    drop(with_options);
18
19    let socket = MulticastSocket::all_interfaces(mdns_multicast_address)
20        .expect("could not create and bind socket");
21
22    let data = vec![1, 2];
23    socket
24        .broadcast(&data)
25        .expect("could not broadcast message to ips being listened");
26
27    loop {
28        if let Ok(message) = socket.receive() {
29            dbg!(&message.interface);
30            dbg!(&message.origin_address);
31
32            let data = vec![9, 8, 7];
33            socket
34                .send(&data, &message.interface)
35                .expect("could not send data");
36        };
37    }
38}