方法
以来:2.22
声明 [src]
GList*
g_resolver_lookup_by_name (
GResolver* resolver,
const gchar* hostname,
GCancellable* cancellable,
GError** error
)
描述 [src]
同步解析 hostname
以确定其关联的 IP 地址(们)。 hostname
可以是一个仅 ASCII 或 UTF-8 主机名,或 IP 地址的文本形式(在这种情况下,这将变为 g_inet_address_new_from_string() 的包装)。
如果成功, g_resolver_lookup_by_name()
将返回一个非空 GList
的 GInetAddress
,按优先级排序并保证不包含重复项。也就是说,如果您使用结果来连接到 hostname
,则应首先尝试连接到第一个地址,然后是第二个如果第一个失败,等等。如果您使用该结果来监听套接字,则可以适当地使用例如 g_socket_listener_add_address() 将每个结果添加到套接字。
如果 DNS 解析失败,错误
(如果非 NULL
)将被设置为来自 GResolverError
的值,并将返回 NULL
。
如果 cancellable
是非 NULL
,它可以用来取消操作,在这种情况下,错误
(如果非 NULL
)将被设置为 G_IO_ERROR_CANCELLED
。
如果您计划连接到解析出的 IP 地址上的套接字,可能更容易创建一个 GNetworkAddress
并使用其 GSocketConnectable
接口。
以来:2.22