Like NetworkAddress does with hostnames, NetworkService
provides an easy way to resolve a SRV record, and then attempt to connect to one of the hosts that implements that service, handling
service priority/weighting, multiple IP addresses, and multiple address families.
See SrvTarget for more information about SRV records, and see
SocketConnectable for an example of using the connectable interface.