next up previous contents
Next: 3.3.10 Kompilieren der Beispiele Up: 3.3 Anwendungsentwicklung Previous: Protokollunabhängige Adreßauflösung

Adreßkonvertierung

Die Funktionen inet_addr() und inet_ntoa() zur Konvertierung von der Textform von IPv4-Adressen in deren Binärform und umgekehrt, erhalten Pendants, die auch IPv6-Adressen konvertieren können:

int inet_pton(int af , const char *src , void *dst );
und
const char *inet_ntop(int af , const void *src , char *dst , size_t size );

Im Beispiel wurde der Aufruf der Funktion inet_ntoa(), die die übergebene Binäradresse im Klartext zurückgibt:

  printf("offizieller Name: %s, IP-Adresse: %s\n",
         hostinfo->h_name, inet_ntoa(server.sin_addr));
in ihre IPv6-Form übersetzt:
  if (inet_ntop(AF_INET6, &server.sin6_addr,
                str, INET6_ADDRSTRLEN) == NULL)
      strcpy(str, "[ungueltige Adresse]");

  printf("offizieller Name: %s, IP-Adresse: %s\n",
         hostinfo->h_name, str);



Copyright Munich Network Management Team