Поделиться через


Совместимое разрешение имен для TCP/IP в API Windows Sockets 1.1

Примечание

Все функции Windows Sockets 1.1 для разрешения имен относятся к сетям TCP/IP IPv4. Разработчикам приложений настоятельно рекомендуется продолжать использовать эти функции, относящиеся к транспорту, которые поддерживают только IPv4.

 

Разработчики приложений должны использовать следующие функции, которые не зависят от протокола и поддерживают разрешение имен IPv6 и IPv4.

Windows Sockets 1.1 определил ряд процедур, используемых для разрешения имен в сетях TCP/IP (IP версии 4). Они иногда называются функциями getXbyY и включают в себя следующее:

gethostname
gethostbyaddr
Gethostbyname
getprotobyname
getprotobynumber
getservbyname
getservbyport

Также были определены асинхронные версии этих функций.

WSAsyncGetHostByAddr
WSAsyncGetHostByName
WSAsyncGetProtoByName
WSAsyncGetProtoByNumber
WSAsyncGetServByName
WSAsyncGetServByPort

Кроме того, в Winsock2.dll реализованы две функции, используемые для преобразования пунктирной нотации ipv4-адресов в строковые и двоичные представления соответственно.

inet_addr
inet_ntoa

Чтобы обеспечить строгую обратную совместимость с Windows Sockets 1.1, все старые функции, доступные только для IPv4, по-прежнему поддерживаются при условии, что хотя бы один поставщик пространства имен поддерживает семейство AF_INET адресов (эти функции не относятся к IP-версии 6, обозначенной AF_INET6).

Ws2_32.dll реализует эти функции совместимости с точки зрения новых, независимых от протокола средств разрешения имен, используя соответствующую последовательность вызовов функций WSALookupServiceBegin/Next/End . Ниже приведены сведения о сопоставлении функций getXbyY с функциями разрешения имен. WSs2_32.dll обрабатывает различия между асинхронными и синхронными версиями функций getXbyY , поэтому рассматривается только реализация синхронных функций getXbyY .

В этом разделе описывается совместимое разрешение имен для TCP/IP в API сокетов Windows 1.1. В следующем списке описаны разделы этого раздела:

Независимое от протокола разрешение имен

Регистрация и разрешение имен