Socket - Hostent
-
Hi!
Kann mir jemand sagen, wie die Hostent-Struktur im Speicher aussieht?struct hostent { char FAR * h_name; char FAR * FAR * h_aliases; short h_addrtype; short h_length; char FAR * FAR * h_addr_list; };h_name ist klar, ist ein Pointer aus einen C-String
h_aliases ist schonwieder was anderes. Gehen wir mal davon aus, es gibt die Aliases-Namen "aaa", "bbbb", und "ccccc". | ist mal bei mir das Null-Terminated-Zeichen. Ist dann h_aliases ein Pointer auf folgende Struktur?
"aaa|bbbb|ccccc||"?h_addrtype ist klar, bei Winsock sowiso nur AF_INET für IP-Adressen
h_length das selbe - 4 für IP-Adressen ala a.b.c.d
h_addr_list ist mal wieder ein Knackpunkt. Laut Beschreibung:
A NULL-terminated list of addresses for the host. Addresses are returned in network byte order.
ist das ganze ein Pointer auf die Struktur?
"d1.c1.b1.a1|d2.c2.b2.a2|d3.c3.b3.a3||"
(wobei die Punkte natürlich nicht mit enthalten sind)
Habe von Netzwerkzeug nicht all so viel Ahnung, deswegen frage ich mich, ob das gehen kann, das man eine IP Adresse mit einem Null-Terminated-Zeichen "beendet", das es doch auch IP Adressen ala a.b.c.0 gibt, was glaube ich das Netzwerk identifiziet. Wenn man das jetzt in Network-Byte-Order sieht 0.c.b.a dürfte ja praktisch die letzte IP nichtmehr ausgelesen werden ?oderdanke schonmal!
mfg olli
-
Schau dir auf meiner Homepage mal GetIp an:
-
Habe ich, bringt mich mit
char **aliases; char **addeses;auch nicht weiter.
Dennoch danke!
mfg olli