Objects that describe one or more potential socket endpoints implement gio.socket_connectable.SocketConnectable. Callers can then use gio.socket_connectable.SocketConnectable.enumerate to get a gio.socket_address_enumerator.SocketAddressEnumerator to try out each socket address in turn until one succeeds, as shown in the sample code below.