The list of available servers is liable to change fairly often, so providing a way to know if it has changed seems a useful thing. The most obvious scenario is when a user launches their Processing sketch and then launches a server app afterwards – you’ll have a new server appear a few seconds/mouse-clicks after launch.
Internally, SyphonServerDirectory passively requests servers announce themselves when it loads and maintains a list locally which is returned by the servers method. As in the rest of the framework, not blocking is a feature, to avoid hung applications hanging other apps.
Unless Processing provides a way to deliver notifications and users are accustomed to using that, having a ServerListHasChanged() (or similar) method paired with a non-blocking ServerList() method is the simplest arrangement I can think of.
I don’t expect being able to list servers to be a much-used feature for Processing – most people will be happy to hard-code a particular server by name, or any available server if you permit that as per my comment on the serverName/appName issue on google code.
Forgive slow responses – currently working on a show.
Thanks for your recent activities on this – really good to see Processing support become solid.