[avahi] Receive mDNS annoucnements

Michael Jones avahi at jonesmz.com
Fri Nov 21 12:25:19 PST 2014


> Hello,I am looking for a way for a Linux machine to tell when I return
> home. My idea is that my iPhone will always do an mDNS announcement when it
> joins my home wifi. So I'm looking for a way to watch for mDNS
> announcements and perform and action if the right one is seen. Obviously
> the avahi-daemon is watching these all the time and updating its cache, so
> I was thinking that there might be a good place to start. However the only
> command line way I can see to get to the avahi-daemon cache is to send a
> SIGUSR1 to get it to dump to /var/log/syslog. Then I can look at the
> timestamp to determine the last time it registered and compare with now.
> That seems quite ugly though, and I don't like the idea of continually
> dumping to syslog.
> So is there a way to make it more event driven with the avahi-daemon? I
> think from looking at the D-Bus API that might be the way to go?If it is
> the right approach, I would appreciate it if someone knew of a related
> chunk of source that I could use as a starting point.
> Thanks!Jonathan
>
>
Write a small program that uses the Avahi API. A very high level wrapper
for the Avahi API is: https://github.com/johanneshilden/qtzeroconf

Using that, you can detect your phone joining your home network in under 10
lines of code.
Create the service browser object
Connect that new object to a qt slot that'll respond to the new service
joining your network, Tell the service browser object which services to
listen for.

>From there, you can do whatever you want with the information. Perhaps you
would want to send some kind of DBus signal to let other programs know.

I'm afraid I haven't investigated the DBus API, so I'm not certain I can
give you any advice in that direction, but I have written apps using the
high level Qt API that I linked above, and I've never had any trouble with
it.

--Michael Jones
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/avahi/attachments/20141121/eb20c598/attachment.html>


More information about the avahi mailing list