I am currently looking into a variety of service discovery protocols available to Java and have come up with a small list:
There's probably more options, if so, I invite you to add tham to the mix.
I would love to get some objective listings of each protocol's pros and cons from people who have used one or many of these. How does implementation of publishing and discovering a service look like, what is the "chattiness" of the protocol, how reliable is it (both - the protocol and the implementations), does it require centralized service directory or is it p2p/decentralized etc.
Which one would you choose to provide seamless automatic discovery of multiple devices/services on the LAN?
jmdns - the underlying algorithms are much simpler than uPnP. Simplicity counts here.