mdns_lite v0.4.0 MdnsLite View Source
A simple implementation of an mDNS (multicast DNS (Domain Name Server)) server.
mDNS is based on multicast UDP rather than TCP. It's primary use is for DNS
support for the local
. MdnsLite
listen on a well-known ip address/port. If
a request arrives that is recognized, it constructs the appropriate DNS response.
MdnsLite responds to a limited number of DNS requests; they are all handled
in the MdnsLite.Query
module. Of particular note is the SRV request. The
response will be a list of known services and how to contact them (domain and port)
as described in the configuration file.
MdnsLite uses a "network monitor", a module that listens for changes in a network.
Its purpose is to ensure that the network interfaces are up to date. The current
version of MdnsLite has an MdnsLite.InetMonitor
which periodically checks via inet:getifaddrs()
for changes in the network. A change could be the re-assignment of IP addresses.
This module is initialized, at runtime, with host information and service descriptions found
in the config.exs
file. The descriptions will be used by the mDNS servers to
construct a response to query.
Please refer to the README.md
for further information.