Internet-Klassen und Funktionen.
Mehr ...
Internet-Klassen und Funktionen
int ppl6::GetHostByAddr |
( |
const char * |
addr, |
|
|
CAssocArray * |
Result |
|
) |
| |
- Include:
- #include <ppl6.h>
- Beschreibung:
- Diese Funktion führt eine Reverse-Abfrage einer IP-Adresse durch.
- Parameter
-
addr | Die gesuchte IP-Adresse, wobei sowohl IPv4- als auch IPv6-Adressen unterstützt werden |
Result | Ein Pointer auf ein Assoziatives Array, in dem das Ergebnis gespeichert werden soll. Diese Parameter ist optional. Wird er nicht angegeben, bzw. ist er NULL, prüft die Funktion lediglich, ob die angegebene IP-Adresse auflösbar ist und liefert true (1) oder false (0) zurück. |
- Rückgabe
- Im Erfolgsfall, das heisst die angegebene IP konnte aufgelöst werden, liefert die Funktion true (1) zurück. Wurde der Parameter
Result
angegeben, wird das Array mit dem Ergebnis gefüllt. Das Ergebnis hat folgendes Format:
- 0/ip IP-Adresse im lesbaren Format
- 0/name Der FQDN
- 0/type Bei einer IPv4 Adresse ist dieser Wert immer AF_INET, bei IPv6 AF_INET6
- 0/ai_addr Ein Binäres Objekt vom Typ CBinary, was eine Systemspezifische Struktur vom Typ "struct sockaddr" enthält, die direkt in den Socket-Funktionen des Systems verwendet werden kann (z.B. connect).
- 0/ai_addrlen Die Länge der ai_addr-Struktur in Bytes
- 0/ai_family
- 0/ai_protocol
- 0/ai_socktype
Wurden mehrere Namen-Adressen gefunden, wiederholt sich der Block und die Ziffer auf der obersten Ebene des Arrays wird hochgezählt.
Im Fehlerfall, das heisst die angegebene IP konnte nicht aufgelöst werden, liefert die Funktion false (0) zurück und des optionale Array Result
bleibt unverändert.
- Zu beachten
- Es ist zu beachte, dass das Array
Result
im Erfolgsfall erst gelöscht und dann mit den gefundenen Daten gefüllt wird. Vorher vorhandene Daten im Array gehen also verloren, bzw. müssen bei Bedarf vom Anwender vorher gesichert werden.
- Seit
- Diese Klasse wurde mit Version 6.0.12 eingeführt
-
Ab Version 6.0.19 werden die ai_*-Parameter zurückgegeben
int ppl6::GetHostByName |
( |
const char * |
name, |
|
|
CAssocArray * |
Result |
|
) |
| |
- Include:
- #include <ppl6.h>
- Beschreibung:
- Diese Funktion führt eine Namensauflösung durch. Dabei werden alle IPs zurückgegeben, die auf den angegebenen Namen passen, einschließlich IPv6.
- Parameter
-
name | Der gesuchte Hostname oder die IP-Adresse, wobei sowohl IPv4- als auch IPv6-Adressen unterstützt werden |
Result | Ein Pointer auf ein Assoziatives Array, in dem das Ergebnis gespeichert werden soll. Diese Parameter ist optional. Wird er nicht angegeben, bzw. ist er NULL, prüft die Funktion lediglich, ob der angegebene Hostname auflösbar ist und liefert true (1) oder false (0) zurück. |
- Rückgabe
- Im Erfolgsfall, das heisst der angegebene Name konnte aufgelöst werden, liefert die Funktion true (1) zurück. Wurde der Parameter
Result
angegeben, wird das Array mit dem Ergebnis gefüllt. Das Ergebnis hat folgendes Format:
- 0/ip IP-Adresse im lesbaren Format
- 0/name Der FQDN
- 0/type Bei einer IPv4 Adresse ist dieser Wert immer AF_INET, bei IPv6 AF_INET6
- 0/ai_addr Ein Binäres Objekt vom Typ CBinary, was eine Systemspezifische Struktur vom Typ "struct sockaddr" enthält, die direkt in den Socket-Funktionen des Systems verwendet werden kann (z.B. connect).
- 0/ai_addrlen Die Länge der ai_addr-Struktur in Bytes
- 0/ai_family
- 0/ai_protocol
- 0/ai_socktype
Wurden mehrere IP-Adressen gefunden, wiederholt sich der Block und die Ziffer auf der obersten Ebene des Arrays wird hochgezählt.
Im Fehlerfall, das heisst der angegebene Name konnte nicht aufgelöst werden, liefert die Funktion false (0) zurück und des optionale Array Result
bleibt unverändert.
- Zu beachten
- Es ist zu beachte, dass das Array
Result
im Erfolgsfall erst gelöscht und dann mit den gefundenen Daten gefüllt wird. Vorher vorhandene Daten im Array gehen also verloren, bzw. müssen bei Bedarf vom Anwender vorher gesichert werden.
- Seit
- Diese Klasse wurde mit Version 6.0.12 eingeführt
-
Ab Version 6.0.19 werden die ai_*-Parameter zurückgegeben
- Zu beachten
- Ursprünglich hat die Funktion intern einen einzelnen Aufruf der Systemfunktion getaddrinfo gemacht. In neueren libc Bibliotheken scheint sich jedoch das Verhalten geändert zu haben. Hier werden AAAA-Records nur dann zurückgegeben, wenn auf dem lokalen host auch eine globales IPv6-Interface konfiguriert ist. Zu beobachten auf Ubuntu 9.10 nach Einspielen der Updates am 13.01.2009. Die Funktion wurde daher geändert und ruft getaddrinfo nun zweimal auf, einmal für IPv4/INET und einmal für IPv6/INET6.
- Beschreibung:
- Hat die Anwendung OpenSSL verwendet, muss nach Gebrauch diese Funktion aufgerufen werden, um den durch OpenSSL belegten Speicher wieder freizugeben. Dies geschieht zu Programmende jedoch automatisch, so dass man sich den Aufruf in der Regel sparen kann.
- Rückgabe
- Die Funktion gibt 1 zurück, wenn die OpenSSL-Schnittstelle erfolgreich deinitialisiert wurde, im Fehlerfall 0.
- Siehe auch
-
- Beschreibung:
- Bevor eine der SSL-Funktionen in CTCPSocket und die Klasse CSSL verwendet werden kann, muss nicht nur OpenSSL beim Kompilieren der Library eingebunden werden, sondern diese bei Programmstart auch initialisiert werden. Dazu muss diese Funktion aufgerufen werden.
- Sie initialisiert den Zufallszahlengenerator, OpenSSL für die Verwendung in einer multithreaded Umgebung, sowie die verschiedenen verschlüsselungs Algorithmen.
- Da durch Aufruf dieser Funktion Speicher allokiert wird, muss irgendwann, wenn OpenSSL nicht mehr benötigt wird, die Funktion SSL_Exit aufgerufen werden. Dies geschieht bei Programmende jedoch auch automatisch.
- Rückgabe
- Die Funktion gibt 1 zurück, wenn OpenSSL erfolgreich initialisiert wurde, im Fehlerfall 0.
- Siehe auch
-