Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > что юзать в 2000 вместо getaddrinfo?


Автор: victor79 28.11.2008, 12:56
Существует функция getaddrinfo. И недавно с удивлением обнаружил, что она существует лишь в виндах от XP и выше. Скажите пожалуйста, что можно использовать вместо нее в 2000?
 т.е. используется она так:

  ADDRINFO hint, *addrinfo;
  hint.socktype = SOCK_STREAM;
  getaddrinfo("www.yandex.ru", "80", &hint, addrinfo);
  s = socket(addrinfo->family, addrinfo->socktype, addrinfo->protocol);

названия типов и полей в разных описаниях может немного отличаться, но в среднем так.
вместо домена там так же может использоваться IP, скажем так: "192.168.0.1"

Автор: GremlinProg 28.11.2008, 17:01
Цитата(victor79 @  28.11.2008,  14:56 Найти цитируемый пост)
что можно использовать вместо нее в 2000

много чего можно, выбор АПИ довольно широкий, смотря что хочешь получить,
эта функция по сути собирает информацию по протоколу и домену, которые можно получить раздельно:

inet_addr, gethostbyname и GetAddressByName - работа с доменом (последняя - более детальная), переводит строковое имя домена и/или хоста в адрес
getservbyname - работа с портом, приводит в соответствие строковый идентификатор службы в конкретный порт (getservbyport - обратное действие)

а при коннекте и/или бинде структуру  SOCKADDR можно заполнить вручную, поля все те же, что и при в socket'е


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)