### Struct

# Gio SrvTarget

#### Description

    struct GSrvTarget {
      /* No available fields */
    }

A single target host/port that a network service is running on.

SRV (service) records are used by some network protocols to provide service-specific aliasing and load-balancing. For example, XMPP (Jabber) uses SRV records to locate the XMPP server for a domain; rather than connecting directly to ‘example.com’ or assuming a specific server hostname like ‘xmpp.example.com’, an XMPP client would look up the `xmpp-client` SRV record for ‘example.com’, and then connect to whatever host was pointed to by that record.

You can use `g_resolver_lookup_service()` or `g_resolver_lookup_service_async()` to find the `GSrvTarget`s for a given service. However, if you are simply planning to connect to the remote service, you can use `GNetworkService`’s `GSocketConnectable` interface and not need to worry about `GSrvTarget` at all.

#### Constructors

###### g_srv_target_new

Creates a new `GSrvTarget` with the given parameters.

since: 2.22

#### Functions

###### g_srv_target_list_sort

Sorts `targets` in place according to the algorithm in RFC 2782.

since: 2.22

#### Instance methods

###### g_srv_target_copy

Copies `target`.

since: 2.22

###### g_srv_target_free

Frees `target`.

since: 2.22

###### g_srv_target_get_hostname

Gets `target`‘s hostname (in ASCII form; if you are going to present this to the user, you should use `g_hostname_is_ascii_encoded()` to check if it contains encoded Unicode segments, and use `g_hostname_to_unicode()` to convert it if it does.).

since: 2.22

###### g_srv_target_get_port

Gets `target`‘s port.

since: 2.22

###### g_srv_target_get_priority

Gets `target`‘s priority. You should not need to look at this; `GResolver` already sorts the targets according to the algorithm in RFC 2782.

since: 2.22

###### g_srv_target_get_weight

Gets `target`‘s weight. You should not need to look at this; `GResolver` already sorts the targets according to the algorithm in RFC 2782.

since: 2.22