How to Use mDNS/DNS-SD in Rust

Web
Use the mdns-sd crate to register and discover local network services via mDNS/DNS-SD in Rust.

Use the mdns-sd crate to publish and browse services via mDNS/DNS-SD in Rust. Add the dependency to your Cargo.toml, then create a ServiceDaemon, register a service with a name, type, and port, and start the daemon to handle discovery.

[dependencies]
mdns-sd = "0.11"
use mdns_sd::{ServiceDaemon, ServiceInfo, IfKind};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let daemon = ServiceDaemon::new()?;
    let service = ServiceInfo::new(
        "_http._tcp.local.",
        "my-web",
        "",
        "192.168.1.10",
        8080,
        None,
    )?;
    daemon.register(service)?;
    daemon.run()?;
    Ok(())
}