Устройство не может разрешить хост - PullRequest
0 голосов
/ 27 января 2020

У меня есть простая демонстрация разрешения DNS в моем ESP8266. Не могу найти, почему он разрешает виртуальную машину Ubuntu на AWS. Насколько я понимаю, DNS-сервер - мой домашний маршрутизатор 192.168.1.1. Разрешение отлично работает с моего рабочего стола P C, а ESP8266 не работает. Почему и как это исправить?

void printDNSServers() {
  Serial.print("DNS #1, #2 IP: ");
  WiFi.dnsIP().printTo(Serial);
  Serial.print(", ");
  WiFi.dnsIP(1).printTo(Serial);
  Serial.println();
}

void printIPAddressOfHost(const char* host) {
  IPAddress resolvedIP;
  if (!WiFi.hostByName(host, resolvedIP)) {
    DEBUG_LOG("DNS lookup failed.  ");
    DEBUG_LOGLN(host);
  }
  DEBUG_LOGLN(host);
  DEBUG_LOGLN(" IP: ");
  Serial.println(resolvedIP);
}



void loop()
{
  printDNSServers();
  printIPAddressOfHost("yahoo.com");
  printIPAddressOfHost("ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port");
}

Вывод:

DNS #1, #2 IP: 192.168.1.1, (IP unset)
yahoo.com
 IP: 
98.138.219.232
DNS lookup failed.  ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
 IP: 

1 Ответ

0 голосов
/ 28 января 2020

Вы пытаетесь разрешить следующее имя хоста:

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port

Вам нужно снять port с конца, поскольку текущая строка не является допустимым именем хоста.

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com
...