rk_mdns 0.1.0
rk_mdns: ^0.1.0 copied to clipboard
An mDNS responder and DNS-SD browser for Dart over a native library, so an application can be found on a local network without a system daemon.
Changelog #
0.1.0 #
- First release. An mDNS responder and a DNS-SD browser, both halves, over a native library — no system daemon needed on any platform.
- Responder: service announcement (
PTR,SRV,TXT,A,AAAAand the DNS-SD service-enumeration pointer), name-conflict resolution with probing and tie-breaking (RFC 6762 §8.1, §8.2), repeated announcement (§8.3), goodbye at zero TTL (§10.1), and separate answers for the instance and the host. - Browser:
<name>.localresolution, browsing a service type with arrivals and departures,TXTsplit into key/value pairs, and a cache with real lifetimes and known-answer suppression (§7.1). - IPv4 and IPv6, unicast replies to the
QUbit (§5.4), every failure returned as a value, and no panic across the FFI boundary. - Sends on every interface, never on the one the routing table prefers.
Measured 2026-08-05: without
IP_MULTICAST_IFthe datagram left by a virtual switch adapter on a four-interface machine, silently. There is no default-send path in this package, andrust/tests/every_interface.rsis what keeps it that way. - Shares UDP 5353 with whatever already holds it — Chrome on Windows,
avahi-daemonon Linux,mDNSResponderon Apple — and reportsportInUsehonestly when sharing is refused.