[PD] rendezvous/zeroconf and pd

Hans-Christoph Steiner hans at eds.org
Thu Mar 11 00:55:39 CET 2004


(I CC'ed the list)

I am first and foremost interested in mDNS 
(http://www.multicastdns.org/ ) and dns-sd (http://www.dns-sd.org/ ) 
since I want to be able to advertise and find advertised services 
easily.  It makes perfect sense to incorporate the service 
advertisements in [netserver] since its providing and managing the 
network port, but I am not sure yet how to handle the discovery aspect. 
  A separate object might make sense for the discovery aspect though.  
Here's one idea:  the [mdnsclient] object keeps track of all service 
advertisements.  When you want to use one, you would send [mdnsclient] 
a message like [service 1( and it would output the IP address and port 
to connect to.  That's one idea.

Another would be to have [netclient] keep track of all the services, 
then to connect, you send [netclient] a message like [connect mdns 5( 
and it would connect to service #5 in the mDNS list.  But there needs 
to be a way to process this list in order to be able to pick which 
services you want to connect to.  For example, you would probably want 
to filter the service announcements to only display the service types 
that you are interested in connecting to.  For example, in a Pd patch, 
you are unlikely to want to connect to an ssh server.

So this is why I think that this part should be a separate object.  
Since the service announcements will need to be processed in order to 
choose which one you want to connect to, it would be nice to have it as 
flexible as possible.  But there might be a better way that what I have 
come up with.

As for cross-platform APIs, Howl 
(http://www.porchdogsoft.com/products/howl/  ) is meant to be a 
cross-platform zeroconf API.  They say it works on Win2k/XP, GNU/Linux, 
FreeBSD, and MacOS X, but I haven't tried it yet.  Its got its own 
license, which seems to be BSD-like, but I am not a license expert.  It 
allows both binary and source redistribution with and without 
modification, so it looks good.

Apple released their Rendezvous code under their AFPL 1.2, which is 
open source, but only usable for non-commercial work.  Their code runs 
on MacOS 9, MacOS X, Windows, and Posix, but I am pretty sure that they 
just give you command line utils, no API.

.hc





More information about the Pd-list mailing list