Like gio.NetworkAddress does with hostnames, gio.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.
Undocumented in source.