Форум программистов, компьютерный форум CyberForum.ru

gethostbyname: получение полного списка ipv4 и ipv6 адресов в текстовом представлении - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить слово из букв A, B, C http://www.cyberforum.ru/cpp-beginners/thread424678.html
Здравствуйте. Прошу помочь написать прогу, которая составляет из букв A, B, C слово длины N. В слове не должны рядом стоять одинаковые сочетания букв. Например: ABCABA - составлено правильно. CABABC - составлено неправильно. Там АВ стоят рядом. Длина N вводится с клавиатуры. Заранее спасибо.
C++ Оператор разрешения области видимости Только начинаю изучать ООП. Объясните где и как применяется оператор разрешения области видимости. http://www.cyberforum.ru/cpp-beginners/thread424643.html
C++ Не могу разобраться в условии задачи.
Написать программу, которая находит сумму чисел во введённой строке Замечание Программа рассматривает непрерывные последовательности цифр в строке как числа и обрабатывает их как единое целое. В программе предусмотреть ограничение на максимальное число разрядов "Написать программу, которая находит сумму чисел во введённой строке" Вот эту часть преподователь выполнил сам и оставил нам в...
C++ нужно написать программку...
На экран выведено 9 прямоугольников одинакового цвета, которые имитируют карточки с нарисованными на них числами от 1 до 9 (число находится на невидимой стороне карточки). Нажатие клавиши приводит к выводу этого числа в прямоугольнике, в пределах которого находится курсор. Числа распологаются случайным образом. Очень нужно. Заранее спасибо)))
C++ Дайте совет по оптимизации http://www.cyberforum.ru/cpp-beginners/thread424625.html
Необходимо оптимизировать реализацию морского боя. Изначально поле представлял в виде символьного массива, естественно длинной 10х10 при этом каждое обращение к элементу массива (х,у) сопровождалось вычислениями величины 10*y+x. Можно попробовать заменить его на двумерный так вот, хотелось бы узнать, действительно ли это даст нам преимущество во времени?
C++ Блок схема Народ, помогите плиииииз. Кто может составить блок-схему для этой программы? #include <iostream> #include <math.h> using namespace std; int main(void) { double x1, y1, z1, x2, y2, z2, x3, y3, z3, s; //просим ввести координаты cout<<"enter x1\n"; cin>>x1; подробнее

Показать сообщение отдельно
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235

gethostbyname: получение полного списка ipv4 и ipv6 адресов в текстовом представлении - C++

08.01.2012, 22:31. Просмотров 1688. Ответов 4
Метки (Все метки)

Как-то недоходчиво написано в манах как работать с этой функцией.
Я передаю в неё днс, она возвращает заполненную структуру hostent, которая пояснена типо вот так:
C++
1
2
3
4
5
6
7
struct hostent {
       char    *h_name;        // официальное имя машины
       char    **h_aliases;    // список псевдонимов
       int     h_addrtype;      // тип адреса машины
       int     h_length;         // длина адреса
       char    **h_addr_list;  // список адресов
}
Я понял что она возвращает список адресов, т.е. несколько адресов.
1) Далее как определить, сколько адресов она вернула?
2) Далее если в списке ipv4 и ipv6 адреса, какое значение возвращает h_length? По логике h_length должна также содержать список размеров, но содержет только одно значение... не понятно
3) Мне в итоге просто нужно получить основной (по всей видимости первый в списке) ipv4 и ipv6 адрес в текстовом представлении, как это сделать?

Вот наброски, помогите дописать
C++
1
2
3
4
5
6
struct hostent *hep;
struct in_addr **addr_list;
if((hep = gethostbyname("ipv6.google.com")) != NULL) {
     addr_list = (struct in_addr **)hep->h_addr_list;
     printf("ADDR: %s\n", inet_ntoa(*addr_list[0]));
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru