执行查询的正向解析,生成条目列表。
results_type resolve( string_view host, string_view service, resolver_base::flags resolve_flags, boost::system::error_code & ec);
此函数用于将主机名和服务名解析为终结点列表。
一个标识位置的字符串。可以是描述性名称或数字地址字符串。如果字符串为空且指定了 passive 标志,则解析出的端点适用于本地服务绑定。如果字符串为空且未指定 passive,则解析出的端点将使用回环地址。
标识请求服务的字符串。这可以是描述性名称或与端口号对应的数字字符串。可以为空字符串,在这种情况下,所有解析出的终结点端口号都将为 0。
一组标志,用于确定如何执行名称解析。默认标志适用于与远程主机通信。有关可用标志集,请参阅 ip::resolver_base
文档。
用于指示发生何种错误(如果有)。
一个表示端点条目列表的范围对象。如果发生错误,将返回一个空范围。此函数成功调用保证返回一个非空范围。
在 POSIX 系统上,主机名可能在本地文件中定义,例如 /etc/hosts
。在 Windows 上,主机名可能在文件 c:\windows\system32\drivers\etc\hosts
中定义。远程主机名解析使用 DNS 进行。操作系统在解析主机名时可能会使用其他位置(例如 Windows 上的 NETBIOS 名称)。
在 POSIX 系统上,服务名称通常在文件 /etc/services
中定义。在 Windows 上,服务名称可能在文件 c:\windows\system32\drivers\etc\services
中找到。操作系统在解析服务名称时可能会使用其他位置。