$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Matt Gruenke (mgruenke_at_[hidden])
Date: 2008-08-04 02:40:49
I know a bit about mDNS, and I think DNS-SD is just a way to implement 
service discovery on top of DNS.
The lookup part of mDNS should be implemented at the system level.  On a 
posix system w/ mDNS support, the lookup is normally handled 
transparently via gethostbyname() and therefore requires no special 
support from ASIO.  Two ways I've seen this done are via custom support 
in the C library and via a plug-in (specifically, a shared library 
that's specified via /etc/nsswitch.conf).  For scalability reasons, it 
is ideal if the lookup consults a daemon process or service running on 
the local machine that can both listen for announcements and maintain a 
cache from which to answer duplicate queries.
I think the Windows install of Bonjour has a way of extending the normal 
DNS lookup mechanism to support mDNS, as well.  This is necessary for 
use of mDNS from Windows XP, as it lacks built-in support.  I can't say 
the same for Windows Vista, however.
I'm not familiar with the other side (i.e. announcements), but I wonder 
whether typical OS security models permit this to be done at the 
application level (i.e. if the user is not running as root or local 
Administrator).  If that's the case, then your app would have to 
communicate with a service which supports mDNS announcements for that 
platform - and I'm pretty sure there's no standard way to do that.
You might find more interest, on the asio-users mailing list:
    http://sourceforge.net/mail/?group_id=122478
Matt