DNS Service Discovery (aka Bonjour, MDNS) API for Ruby. Implements browsing, resolving, registration and domain enumeration. Supports avahi’s DNSSD compatibility layer for avahi 0.6.25 or newer.
Needs more pie.
Not all of the DNSSD API is implemented
Sometimes tests fail
See the sample directory (Hint: gem contents --prefix dnssd)
Registering a service:
http = TCPServer.new nil, 80 DNSSD.announce http, 'my awesome HTTP server'
Browsing services:
require 'dnssd' DNSSD.browse '_http._tcp.' do |reply| p reply end
OS X
The dns-sd library on other operating systems
avahi 0.6.25+
sudo gem install dnssd
If you have dnssd installed in a non-standard location you can use the build options —with-dnssd-dir and —with-dnssd-lib:
sudo gem install dnssd -- \ --with-dnssd-dir=/path/to/dnssd \ --with-dnssd-lib=/path/to/lib/dnssd
Using the default Bonjour SDK install for Windows, the command to build the Ruby dnssd extension will look like this:
# Windows 2000 or Windows XP sudo gem install dnssd -- \ --with-dnssd-dir=c:/progra~1/bonjou~1 \ --with-dnssd-lib=c:/progra~1/bonjou~1/lib/win32 # Windows Vista and later sudo gem install dnssd -- \ --with-dnssd-dir=c:/progra~2/bonjou~1 \ --with-dnssd-lib=c:/progra~2/bonjou~1/lib/win32
Copyright © 2004 Chad Fowler, Charles Mills, Rich Kilmer
Copyright © 2009 Phil Hagelberg, Aaron Patterson, Eric Hodel
Licensed under the ruby license
Generated with the Darkfish Rdoc Generator 1.1.6.