QHostAddress установть адрес IPv4 в dynDNS

udpSocket4.writeDatagram("work!", QHostAddress("35.22.112.45"), 7878);

В этом случае данные отправляются

udpSocket4.writeDatagram("work!", QHostAddress("375331111111.dyndns.mts.by"), 7878);

В этом случае нет, как правильно записать QHostAddress DynDNS?


Ответы (1 шт):

Автор решения: Fat-Zer

QHostAddress, как написано в его документации не выполняет DNS-запросов, для этого надо использовать QHostInfo::fromName():

QHostInfo hi = QHostInfo::fromName("375331111111.dyndns.mts.by");
assert (!hi.error());
assert (hi.addresses.size > 0);
QHostAddress ha = hi.addresses().first();

Стоит помнить, что QHostInfo::fromName() — блокирующий вызов; если нужен неблокирующий варианта стоит использовать QHostInfo::lookupHost().


Ну и помимо прочего стоит проверить, что адрес правильный...

→ Ссылка