Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Adress-Struktur sockaddr_in6 der Adressfamilie AF_INET6

&pagelevel(5)&pagelevel

Bei der Adressfamilie AF_INET6 besteht ein Name aus einer 16 byte langen Internet-Adresse und einer Portnummer. Für die Adressfamilie AF_INET6 verwenden Sie die Adress-Struktur sockaddr_in6.

Die Struktur sockaddr_in6 ist in der Include-Datei <netinet/in.h> wie folgt deklariert:

struct sockaddr_in6 {
    sa_family_t sin6_family;       /* Adressfamilie AF_INET6 */
    in_port_t       sin6_port;     /* 16 bit Portnummer  */
    uint32_t        sin6_flowinfo;
    struct in6_addr sin6_addr;     /* IPv6-Adresse */
    uint32_t        sin6_scope_id;
};

Mit den folgenden Anweisungen können Sie eine Variable server vom Typ struct sockaddr_in6 mit einem Namen versorgen:

struct sockaddr_in6 server;
struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
...
server.sin6_family = AF_INET6;
server.sin6_port = htons(8888);
memcpy(server.sin6_addr.s6_addr, in6addr_any.s6_addr, 16);

Ein Zeiger auf die Variable server kann nun als aktueller Parameter, z.B. bei einem bind()-Aufruf, übergeben werden, um den Namen an einen Socket zu binden:

bind(..., &server, ...);  /* bind()-Aufruf mit Typ-Konvertierung */