Top |
GSrvTarget * | g_srv_target_new () |
GSrvTarget * | g_srv_target_copy () |
void | g_srv_target_free () |
const gchar * | g_srv_target_get_hostname () |
guint16 | g_srv_target_get_port () |
guint16 | g_srv_target_get_priority () |
guint16 | g_srv_target_get_weight () |
GList * | g_srv_target_list_sort () |
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 GSrvTargets
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.
GSrvTarget * g_srv_target_new (const gchar *hostname
,guint16 port
,guint16 priority
,guint16 weight
);
Creates a new GSrvTarget with the given parameters.
You should not need to use this; normally GSrvTargets are created by GResolver.
hostname |
the host that the service is running on |
|
port |
the port that the service is running on |
|
priority |
the target's priority |
|
weight |
the target's weight |
Since 2.22
const gchar *
g_srv_target_get_hostname (GSrvTarget *target
);
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
guint16
g_srv_target_get_port (GSrvTarget *target
);
Gets target
's port
Since 2.22
guint16
g_srv_target_get_priority (GSrvTarget *target
);
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
guint16
g_srv_target_get_weight (GSrvTarget *target
);
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