Herunterladen Inhalt Inhalt Diese Seite drucken

Dns - Domain Namen Auflösen - Digitronic Automationsanlagen DigiWEB Bedienungsanleitung

C-schnittstelle
Vorschau ausblenden Andere Handbücher für DigiWEB:
Inhaltsverzeichnis

Werbung

DigiWEB
C-Schnittstelle
16 DNS – Domain Namen auflösen
Die Einfache Methode:
tIP ip = DnsGetIp("web.de");
if(ip.is==0)
return; //name konnte nicht aufgelöst werden
Da diese Funktion blockt ist sie für DigiWEB Anwendungen nicht zu empfehlen. Sie würde das
gesamte DigiWEB für die Zeit in der die Anfrage läuft anhalten.
Die Methode mit einer Statemachine:
void (*pDnsProg)(void);
void *pvDns=0;
void waitDns(void)
{
tIP IP;
if((IP=DnsChk(pvDns)).is==0xFFFFffff)
{
return;
}
if(IP.is==0)
return; //name konnte nicht aufgelöst werden
//name wurde aufgelöst. //IP-Adresse steht nun in IP
pvDns=0;
pDnsProg=0;
}
void startDns(void)
{
pvDns=DnsStart("web.de");
pDnsProg=waitDns;
}
void DigiWebOptionThread(void)
{
if(!pDnsProg)
pDnsProg=startDns;
(*pDnsProg)();
}
DigiWebOptionThread wird zyklisch aufgerufen.
Im ersten Schritt wird mit "void* pvDns=DnsStart("web.de");" die DNS Anfrage gestartet. Und
Anschließend Schritt 2 eingeleitet.
Seite 42 von 44
Automationsanlagen GmbH
Digitronic
3. Juni 2011

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis