NetworkServiceDiscovery Issues

Hey there, hey JUCE team,

thanks as always for the fantastic work you do on this library!

I just started exploring the new NetworkDiscovery class for broadcasting an OSC service into the local network. I can make it work when I have NetworkServiceDiscovery and AvailableServiceList running in different apps on the same machine and I can also make it work when I have two macs connected through a direct connection. However, I can’t make it work through the router I use (Google WiFi router) seems like it’s not sending through the UDP broadcast messages.

The implementation of these classes looks super trivial, so I guess I can’t expect it to do the same kind of magic as zerconf or Bonjour, right, since most libraries that implement this are much bigger.

Any comment on what the status of it is? I’m guessing you are also using this in Roli products and need this to work in many places?

Github Link

Johannes

You’ve hit the nail on the head there - we’re not going to attempt to replace any of the more heavyweight libraries for network discovery. We needed some basic functionality for an internal project and thought it might be useful for JUCE users.

1 Like

ok, thanks Tom, good to know. I’ll look into Bonjour / DNS-SD then.

Btw Apple open-sourced DNS-SD (the backbone of bonjour) and it’s available on MacOS, iOS, Windows and Android. Maybe at some point you can get around of writing a nicely usable C++ wrapper for it. In the meantime I’ll try using it directly.

Hi, just for info, if you’re looking for bonjour/zeroconf implementation in juce, I just finished doing it in my project https://github.com/benkuper/Chataigne .
It is using Servus, and I already compiled the binaries for Win/OSX/Linux. You can check the implementation in https://github.com/benkuper/Chataigne/blob/master/Source/Module/modules/osc/OSCModule.cpp#L216
All library files are in the “External” folder

4 Likes