方法
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;调用者将获此数据的所有权,并负责释放它的内存。