Better logging for underlying socket errors.
Oddly enough bonjour won’t advertise your loopback address.

Which makes sense in retrospect.

So we were opening a socket on the loopback interface and then telling
bonjour to advertise it (but only to localhost). But because bonjour
won’t advertise loopback addresses it used the device’s external IP
address (10.x.x.x instead of 127.0.0.1). And because the external address
was on a different interface no one could actually connect to the service’s
port (because it was open on a different interface).

So now STYServer takes a “publishOnLocalhostOnly” flag which you should set
when you don’t want other devices to see the server. The server MUST
still open a port using the “ANY ADDRESS”