Форум программистов, компьютерный форум 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; подробнее

Показать сообщение отдельно
vorob
 Аватар для vorob
6 / 6 / 3
Регистрация: 07.01.2012
Сообщений: 18
09.01.2012, 02:10     gethostbyname: получение полного списка ipv4 и ipv6 адресов в текстовом представлении
Ну как-то так пожалуй:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <netdb.h> 
int main(){
    char host[] = "jradio.org";
    int no_ipv4=1, no_ipv6=1;
    int countip=0;
    hostent * ipv4 = gethostbyname(host);
    in_addr *address;
    if (ipv4==NULL){
        no_ipv4 = 0;
    }else{
        printf("IPV4:\n");
        for (int i = 0; (address = ((in_addr * )ipv4->h_addr_list[i])) != NULL; i++) { 
            printf("\t%s\n", inet_ntoa(* address));
            countip++;
        }
    }
    
    hostent * ipv6 = gethostbyname2(host, AF_INET6);
    if (ipv6==NULL){
        no_ipv6 = 0;
    }else{
        printf("IPV6:\n");
        for (int i = 0; (address = ((in_addr * )ipv6->h_addr_list[i])) != NULL; i++) { 
            char straddr[50];
            inet_ntop(AF_INET6, address, straddr, sizeof(straddr));
            printf("\t%s\n", straddr );
            countip++;
        }
    }
    
    if(no_ipv6 == 0 && no_ipv4 == 0){
        printf("Для домена %s не найдено ip адресов\n", host);
        return 0;
    }
    
    if(no_ipv6 == 0)
        printf("Для домена %s не найдено ipV6 адресов\n", host);
        
    if(no_ipv4 == 0)
        printf("Для домена %s не найдено ipV4 адресов\n", host);
        
    printf("Всего для домена %s найдено %i адресов\n", host, countip);
    
    return 0;
}
Цитата Сообщение от Damaks Посмотреть сообщение
Мне в итоге просто нужно получить основной (по всей видимости первый в списке)
Для балансировки нагрузки в службе DNS для одного имени типа "www.example.com" настраивается несколько IP-адресов, а также опция "round robin", которая устанавливает порядок выдачи адресов для DNS-запросов по кругу. В результате, каждый клиент, по мере выдачи запросов на одно имя на DNS-сервер, будет получать разные IP-адреса, а значит, подключаться к разным серверам.
 
Текущее время: 18:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru