RAOP Discover is currently at the point «It just works until it doesn't» (like most things zeroconf). Behaves fairly reliably in my experience if you don't mind some latency.