Roon in a remote Server / Android HI-RES Streaming / iBasso Streaming Hiccups

It is not about implement the connection WITHOUT broadcast packets.
It is about not relying on ONLY broadacast packets.

“it just works. Every time. Reliably” Yes! But only if you have only one subnet in local lan. I think here is well explained why it can’t just work for everyone: How I got Roon working over OpenVPN (hard for me, easy for you) - #7 by ogs

A simple and improvised way to connect without broadcast packets as a dialog:

  • Client (knowing the server IP): "Hello server, I’m online! "
  • Server: “Hey! Nice, what is yout current audio interface capabilities?”
  • Client: “I can stream up to 32/384, but sadly no MQA”
  • Server: “Noted, when a song start I will contact you. From time to time don’t you mind if I ping you just to check you’re alive?”
  • Client: “Sure! No problem. Anyway If I’ll ever disconnect I’ll send a message to you.”

Now, despite the funny part. In some network configuration broadcast messages just can’t work. The user must have the ability to tell the client “Hey, the Roon server is at this IP address, do your thing and let me play music”. Implementing a well-behaving client-server communication is just basic networking knowledge.

This still does not solve the streaming issues. Even if Roon streams in uncompressed WAV, a 24/44.1 file has a bitrate of ~ 2Mbit/s. With a 50Mbit/s bandwidth I should be able to stream at least 20 of them AT THE SAME TIME!

Of course that if I plug the ethernet cable with a gigabit connection everything works.
But still the issue remains, I don’t know if it’s a mobile app problem, a networking problem of a mix of both.

To me having the server in a datacenter don’t seems to be a stretch at all! I can listen to my library at home, in my car, when I’m at friends home and using all my DSP profiles for my headphones. This is indeed the main advantage of a client-server architecture. And my compairson with LMS isn’t a strech either. I didn’t compare the overall experience, but just the plain networking stack which is the HEART of a software with a client-server architecture.