On Tue, May 19, 2009 at 12:52 AM, Ross Burton <[email protected]> wrote: > On Mon, 2009-05-18 at 22:39 +0300, Stefan Kost wrote: >> Now that apple has closed the whole bonjour stack, I would prefer to build on >> upnp. We have gupnp, which is actively developed and fitting nicely here. > > I'm very curious as to what this "closing" of the bonjour stack is: even > if they closed their Bonjour implementation the specifications are > public (interestingly the Internet Draft expired yesterday): > > http://files.dns-sd.org/draft-cheshire-dnsext-nbp.txt > > Whilst I'm a maintainer of GUPnP and think it's the best solution we > have for interoperating with other UPnP devices (of which they are many > in the wild), I really do think it's an ugly specification which hasn't > had any recent development. I also notice that Windows Vista includes > something I've forgotten the name of which they basically call the > successor to UPnP... > > The two technologies are pretty different. > > mDNS gives you name resolution and by extension (via cunning use of DNS) > service lookups, i.e. "what printers are here". At this point it stops > caring and you use application-specific protocols: XMPP for link-local > chat, IPP/HTTP for printing, and so on. Generally mDNS is used to > announce an existing service, such as the location of an existing IPP > print queue, or SSH server, or HTTP server. Because mDNS doesn't care > what you do after discovery, security is not it's problem. > > UPnP doesn't do name resolution, but does do service discovery. > Introspection of services and invocation of remote method calls is also > part of UPnP, invocation is done via everyone's favorite RPC protocol, > SOAP. The UPnP specifications cover a large number of services > (internet gateway devices, media servers, scanners, printers, security > cameras, lighting and so on) but I've only ever seen IGDs and media > servers in the wild. Security is non-existent, any process (including > Flash in a web page) can make UPnP calls and (say) open ports on your > router. > > Personally speaking, if you want to do basic service > announcement/discovery and you already have a good protocol which works > (say HTTP or XMPP) then I'd recommend starting with mDNS. If you want > to interoperate with existing devices (such as routers and media > servers) then using UPnP is the only solution, because I don't know of a > mDNS equivalent for the IGD magic and Apple are working very hard at > stopping you from using DAAP/DPAP on a Mac. > > This mail turned out to be a bit longer and rambling than I was hoping, > but the executive summary is this: at present, both are required, > depending on the situation.
Why are we discussing UPnP vs mDNS? Isn't it like discussing USB vs Firewire? Ideally both should be supported. -- Felipe Contreras _______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
