我在ESP8266中有一个简单的DNS解析演示。找不到为什么它可以解析AWS上的Ubuntu
虚拟机。据我了解,DNS服务器是我的家庭路由器192.168.1.1。 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:
答案 0 :(得分:0)
您正在尝试解析以下主机名:
ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
由于当前字符串不是有效的主机名,因此您需要将port
放在末尾。
ec2-34-254-225-201.eu-west-1.compute.amazonaws.com