Неправильный IP-адрес возвращен из домена, зарегистрированного на No-IP

Я хочу соединить клиента и сервер через Интернет (используя C++ и winsock2), поэтому я зарегистрировал доменное имя для сервера на No-IP, чтобы клиент мог определить его IP-адрес без необходимости быть на одном и том же LAN. Но когда клиент использует getaddrinfo() для определения IP-адреса сервера по доменному имени, getaddrinfo() всегда возвращает 8.23.224.90 (который не является IP-адресом сервера). Статистика Ping также показывает, что IP-адрес доменного имени 8.23.224.90. После того, как я долго гуглял проблему, я обнаружил это на веб-сайте No-IP:

"IP-адреса 8.23.224.90 и 50.19.220.154 являются прямыми расположениями для наших серверов веб-перенаправления. Если у вас настроено имя хоста в качестве веб-перенаправления, порт 80 перенаправления или включена автономная страница, это IP-адреса, которые будут назначены вашему хозяину."

В настоящее время именно так клиент получает IP-адрес от имени домена "имя хоста". Что я должен добавить / изменить, чтобы получить реальный IP-адрес? Заранее спасибо...

int hostname_to_ip(char *hostname, char *ip) {

    struct addrinfo hints, *servinfo, *p;
    struct sockaddr_in *h;

    memset(&hints,0,sizeof(hints));
    hints.ai_family=AF_INET;
    hints.ai_socktype=SOCK_STREAM;

    getaddrinfo(hostname,NULL,&hints,&servinfo);
    for (p=servinfo; p!=NULL; p=p->ai_next) {
        h=(struct sockaddr_in*)p->ai_addr;
        strcpy(ip,inet_ntoa(h->sin_addr));
    }

}

1 ответ

Решение

Я не знаю о панели конфигурации No-Ip Plus, но я думаю, что это близко к той же бесплатной части.

Логично перенаправить на сервер No-Ip, если ваш DNS настроен на использование веб-функции. Убедитесь, что опция, такая как "Перенаправление порта 80" или "Веб-перенаправление", не отмечена.

Вместо этого вам нужно "DNS Host (A)" (перенаправить DNS на IPv4).

Чтобы изменения вступили в силу, может потребоваться несколько минут (по умолчанию TTL составляет 1 минуту, поэтому подождите не менее одной минуты, прежде чем пытаться снова)

Другие вопросы по тегам