Skip to content
Multicast DNS client for ruby! YAY!
Ruby C
Latest commit 5365d38 Jan 20, 2016 @tenderlove Merge pull request #19 from sodabrew/patch-1
Update example for new DNSSD.browse! calling convention


= dnssd



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: <tt>gem contents --prefix dnssd</tt>)

Registering a service:

  http = nil, 80
  DNSSD.announce http, 'my awesome HTTP server'

Browsing services:

  require 'dnssd'
  DNSSD.browse '_http._tcp.' do |reply|
    p reply


* OS X
* The dns-sd library on other operating systems
* avahi 0.6.25+ (plus libavahi-compat-libdnssd-dev on debian)


  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 \

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 \
  # Windows Vista and later
  sudo gem install dnssd -- \
     --with-dnssd-dir=c:/progra~2/bonjou~1 \


Copyright (c) 2004 Chad Fowler, Charles Mills, Rich Kilmer

Copyright (c) 2009 Phil Hagelberg, Aaron Patterson, Eric Hodel

Licensed under the ruby license

Something went wrong with that request. Please try again.