In function BuildServices(Message m) in BonjourService.cs, filtering only the services whose name matched the first DomainName results in skipping of important messages.
There is likely a good reason for the filtering, but for me it was causing the Network.ZeroConf.IService parameter of the BonjourServiceResolver.ServiceFound callback to omit the IP address of the service I was interested in. Removing the filter and iterating
through all of the services fixed this problem for me:
line 254 of BonjourService.cs:
foreach (Service s in services) //.Where(s => a.DomainName == s.Name))
What is the purpose of this filter?