dnssd¶ ↑
DESCRIPTION:¶ ↑
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.
FEATURES/PROBLEMS:¶ ↑
-
Needs more pie.
-
Not all of the DNSSD API is implemented
-
Sometimes tests fail
SYNOPSIS:¶ ↑
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
REQUIREMENTS:¶ ↑
-
OS X
-
The dns-sd library on other operating systems
-
avahi 0.6.25+ (plus libavahi-compat-libdnssd-dev on debian)
INSTALL:¶ ↑
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
LICENSE:¶ ↑
Copyright © 2004 Chad Fowler, Charles Mills, Rich Kilmer
Copyright © 2009 Phil Hagelberg, Aaron Patterson, Eric Hodel
Licensed under the ruby license