ZeroConf is when a networked devices automatically configure itself on a network with the user doing zero configuration. Bonjour is Apple’s implementation of it, which was formerly known as Rendezvous. mDNS/mDNSd is the system name for the program. See also: http://www.zeroconf.org/ or http://en.wikipedia.org/wiki/Zeroconf
ZeroConf deals with three network concepts:
- Network Address Selection (“.local”/Link-Local Addressing)
- Computer Name Address Translation (Multicast DNS)
- Service Discovery and Broadcasting (DNS Service Discovery)
Ultimately, I’m interested in the third category — finding computers on the network that provide a service such as an SSH Remote Login, ProPresenter Text Stream, etc.; or, for alerting computers on the network to what services my device is providing.
For the Qt Framework, there are a couple projects that address some of these services.
Avahi – http://www.avahi.org
- Full Server & Client
- Most comprehensive
- QT Binding – http://inqlude.org/libraries/avahi-qt.html
- Adapted for Multi-Client – http://sourceforge.net/projects/zmdns/
- The official implementation
- Service Browser or Browsable Service
- Uses Apple’s mdnsd or avahi