Windows 套接字 1.1 API 中 TCP/IP 的兼容名称解析

注意

所有用于名称解析的 Windows 套接字 1.1 函数都特定于 IPv4 TCP/IP 网络。 强烈建议应用程序开发人员继续使用这些仅支持 IPv4 的特定于传输的函数。

 

应用程序开发人员应使用以下独立于协议且支持 IPv6 和 IPv4 名称解析的函数。

Windows 套接字 1.1 定义了许多用于 TCP/IP (IP 版本 4) 网络的名称解析的例程。 这些函数有时称为 getXbyY 函数,包括以下内容:

gethostname
gethostbyaddr
gethostbyname
getprotobyname
getprotobynumber
getservbyname
getservbyport

还定义了这些函数的异步版本。

WSAAsyncGetHostByAddr
WSAAsyncGetHostByName
WSAAsyncGetProtoByName
WSAAsyncGetProtoByNumber
WSAAsyncGetServByName
WSAAsyncGetServByPort

还有两个函数(现在在 Winsock2.dll 中实现),分别用于将虚线 Ipv4 地址表示法转换为字符串和二进制表示形式。

inet_addr
inet_ntoa

为了保持与 Windows 套接字 1.1 的严格后向兼容性,只要存在至少一个支持AF_INET地址系列的命名空间提供程序, (这些函数与 IP 版本 6 无关(AF_INET6) 表示),所有旧的仅 IPv4 函数将继续受支持。

Ws2_32.dll使用适当的 WSALookupServiceBegin/Next/End 函数调用序列,在新的独立于协议的名称解析设施方面实现这些兼容性函数。 下面提供了 getXbyY 函数如何映射到名称解析函数的详细信息。 WSs2_32.dll处理 getXbyY 函数的异步版本和同步版本之间的差异,因此仅讨论同步 getXbyY 函数的实现。

本部分介绍 Windows 套接字 1.1 API 中 TCP/IP 的兼容名称解析。 以下列表介绍了本节中的主题:

与协议无关的名称解析

注册和名称解析