方法
GioResolverlookup_service
自:2.22
声明 [src]
GList*
g_resolver_lookup_service (
GResolver* resolver,
const gchar* service,
const gchar* protocol,
const gchar* domain,
GCancellable* cancellable,
GError** error
)
描述 [src]
同步执行给定域中给定 service
和 protocol
的 DNS SRV 查询,并返回一个 GSrvTarget
数组。 domain
可以是一个仅包含 ASCII 字符或 UTF-8 主机名。请注意,service
和 protocol
参数不包括实际 DNS 条目中出现的开头下划线。
如果成功,g_resolver_lookup_service()
将返回一个非空 GList
的 GSrvTarget
,按照优先级顺序排序。 (也就是说,你应该首先尝试连接到第一个目标,然后是第二个,如果第一个失败等)
如果 DNS 解析失败,则将 error
(如果非 NULL
)设置为来自 GResolverError
的值,并返回 NULL
。
如果 cancellable
非空,则它可以用来取消操作,在这种情况下,如果非 NULL
的话将设置 error
为 G_IO_ERROR_CANCELLED
。
如果您计划连接到该服务,通常更容易创建一个 GNetworkService
并使用其 GSocketConnectable
接口。
自可用:2.22
参数
service
-
类型:
const gchar*
要查找的服务类型(例如,“ldap”)。
数据由方法调用者拥有。 该值是一个以 NULL 结尾的 UTF-8 字符串。 protocol
-
类型:
const gchar*
用于
service
的网络协议(例如,“tcp”)。数据由方法调用者拥有。 该值是一个以 NULL 结尾的 UTF-8 字符串。 domain
-
类型:
const gchar*
要查找服务的 DNS 域。
数据由方法调用者拥有。 该值是一个以 NULL 结尾的 UTF-8 字符串。 cancellable
-
类型:
GCancellable
一个
GCancellable
,或NULL
。此参数可以是 NULL
。数据由方法调用者拥有。 error
-
类型:
GError **
恢复错误的位置返回。
此参数可以是 NULL
。如果返回位置非空,则必须将其初始化为一个 NULL
的GError*
。如果没有错误,则方法将保持参数初始化为 NULL
。如果出现错误,参数将被设置为一个新的分配的 GError
;调用者将获此数据的所有权,并负责释放它的内存。