我需要在主循环中设置后更改 mDNS 的主机名。 不幸的是,如果我用新的主机名在循环内调用 MDNS.begin,它总是返回 0.
是否可以即时更改主机名,例如通过从串行端口获取主机名?
void loop(void) {
server.handleClient();
mdns.update();
while (Serial.available()) {
h_name = Serial.readString(); // read the incoming data as string
if (mdns.begin(h_name, WiFi.localIP())) {
Serial.println("MDNS responder re-started");
Serial.println("New hostname");
Serial.println(h_name);
}
delay(10);
}
}
可以使用 mdns 库中的方法 setInstanceName。我在 ESP32 上测试过,它可以工作。