INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
DNS Lookup - ein kleiner Tipp
07.08.2018, 10:09 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2018 10:11 von rkuehle.)
Beitrag #1
DNS Lookup - ein kleiner Tipp
Hallo Forum,
ich war lange nicht an Bord, komme aber zumindest ab und an dazu doch mal was mit dem Arduino / Nodemcu was zu machen.
Ich hoffe ihr seid alle bei der Wärme / Trockenheit bei guter Gesundheit!

Ich hatte vor eine Maria-DB auf einer Adresse im Internet zu benutzen und wollte sie dabei über den Hostnamen und nicht über die IP-Adresse ansprechen, da diese sich ja aus verschiedenen Gründen ändern kann (DDNS etc.)

Habe mich dazu belesen und bin immer wieder auf die Methode .getHostByName() in der Ethernet / DNS - Lib gestoßen. Das Problem dabei: die genutzten Callbacks funktionieren nur mit dem Wiznet 5100 / 5200 Shield. Also nichts für den ESP.

Die Lösung war, wie immer, noch einmal lesen Smile Und siehe da hier gibt es einen Hinweis auf die Methode .hostByname() der WiFi - Klasse. Diese benutzt und schon funktioniert es.
Beispielcode:
Code:
#include <ESP8266WiFi.h>
void setup() {
  const char * MY_SSID = "SSID";                        // WLAN-SSID
  const char * MY_PWD = "PASSWORD";                // WLAN-Passwort
  // IP lokal
  IPAddress ip(192, 168, 178, 223);                        // lokale Adresse
  IPAddress gateway(192, 168, 178, 1);                     // Adresse des Gateway
  IPAddress subnet(255, 255, 255, 0);                      // Netzwerkmaske
  IPAddress dnss(192, 168, 178, 1);                        // DNS Server
  IPAddress mserver;                                       // zu ermittelnde IP Adresse remote Host
  const char * mhostname = "www.google.de";                // remote Host
  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFi.config(ip, gateway, subnet, dnss);
  WiFi.begin(MY_SSID, MY_PWD);
  while (WiFi.status() != WL_CONNECTED) delay(250);
  WiFi.hostByName(mhostname, mserver);
  Serial.println(mserver);
}
void Loop() {}

Vielleicht erspart das ja einigen User/innen langes Suchen im Netz.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2018, 10:26
Beitrag #2
RE: DNS Lookup - ein kleiner Tipp
Als Ergänzung: Der WiFiClient kann auch beides direkt:
Code:
virtual int connect(IPAddress ip, uint16_t port);
  virtual int connect(const char *host, uint16_t port);
Die 2. Variante ruft intern WiFi.hostByName() auf.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2018, 10:40
Beitrag #3
RE: DNS Lookup - ein kleiner Tipp
Boah, da such ich mir die Finger / Augen fusselig im Netz...da kommt der Tommy des Weges und legt noch einen (besseren) drauf...
Ich glaub nun wirkt sich langsam mein Alter aus...Big Grin
Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2018, 11:10
Beitrag #4
RE: DNS Lookup - ein kleiner Tipp
(07.08.2018 10:40)rkuehle schrieb:  Boah, da such ich mir die Finger / Augen fusselig im Netz...da kommt der Tommy des Weges und legt noch einen (besseren) drauf...
Ich glaub nun wirkt sich langsam mein Alter aus...Big Grin
Grüße RK
Ich bin auch nur darüber gestolpert, weil ich die MySQL-Lib erweitern wollte.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste