Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Übersicht über die SOCKETS(POSIX) Funktionen

&pagelevel(3)&pagelevel

Die folgende Übersicht über die Funktionen der SOCKETS-Schnittstelle fasst jeweils mehrere Funktionen unter aufgabenorientierten Gesichtspunkten zusammen. Die Spalten IPv4 und IPv6 zeigen an, in welchen Adressfamilien (AF_INET bzw. AF_INET6) die betreffenden Funktionen unterstützt sind.

Funktion

BeschreibungIPv4IPv6

Verbindungen über Sockets aufbauen und beenden

socket()

Socket erzeugen

x

x

bind()

Einem Socket einen Namen zuordnen

x

x

connect()

Verbindung über einen Socket initiieren

x

x

listen()

Socket auf anstehende Verbindungen überprüfen

x

x

accept()

Eine Verbindung über einen Socket annehmen

x

x

close()

Socket schließen

x

x

shutdown()

Voll-Duplex-Verbindung beenden

x

x

socketpair()

Ein Paar von verbundenen Sockets erzeugen

x


Daten zwischen zwei Sockets übertragen

read(), readv()

Nachricht von einem verbundenen Socket empfangen

x

x

recv()

Nachricht von einem verbundenen Socket empfangen

x

x

recvfrom()

Nachricht von einem Socket empfangen

x

x

recvmsg()

Nachricht von einem Socket empfangen

x

x

send()

Nachricht von Socket zu Socket über eine Verbindung senden

x

x

sendto()

Nachricht von Socket zu Socket senden

x

x

sendmsg()

Nachricht von Socket zu Socket senden

x

x

write(), writev()

Nachricht von Socket zu Socket über eine Verbindung senden

x

x

poll()

Ein-/Ausgabe multiplexen

x

x

select()

Ein-/Ausgabe multiplexen

x

x

Informationen über Sockets erhalten

getsockopt()

Socket-Optionen abfragen

x

x

setsockopt()

Socket-Optionen setzen

x

x

getpeername()

Namen des Kommunikationspartners abfragen

x

x

getsockname()

Namen des Sockets abfragen

x

x

Konfigurationswerte überprüfen

gai_strerror()

Beschreibung des Error-Codes von getaddrinfo() ermitteln

x

x

getaddrinfo()

Informationen über Rechnernamen, Rechneradressen und Services abfragen

x

x

gethostbyaddr()

Namen von erreichbaren Rechnern abfragen

x


gethostbyname()

Adressen von erreichbaren Rechnern abfragen

x


gethostname()

Namen des aktuellen Rechners abfragen

x

x

getipnodebyaddr()

Den zu einer IPv4- oder IPv6-Adresse gehörenden Rechnernamen erfragen

x

x

getipnodebyname()

Die zu einem Rechnernamen gehörende IPv4- oder IPv6-Adresse erfragen

x

x

getnameinfo()

die zu IP-Adresse und Portnummer gehörenden Rechner- und Servicenamen erfragen

x

x

getnetbyaddr()

Namen eines Netzes abfragen

x

x

getnetbyname()

Netzadresse abfragen

x

x

getprotobyname()

Nummer eines Protokolls abfragen

x

x

getprotobynumber()

Namen eines Protokolls abfragen

x

x

getservbyname()

Portnummer eines Service abfragen

x

x

getservbyport()

Namen eines Service abfragen

x

x

sethostent()

Rechner-Datenbasis öffnen

x

x

gethostent()

Eintrag aus der Rechner-Datenbasis lesen

x

x

endhostent()

Rechner-Datenbasis schließen

x

x

setnetent()

Netz-Datenbasis öffnen

x

x

getnetent()

Eintrag aus der Netz-Datenbasis lesen

x

x

endnetent()

Netz-Datenbasis schließen

x

x

setprotoent()

Protokoll-Datenbasis öffnen

x

x

getprotoent()

Eintrag aus der Protokoll-Datenbasis lesen

x

x

endprotoent()

Protokoll-Datenbasis schließen

x

x

setservent()

Services-Datenbasis öffnen

x

x

getservent()

Eintrag aus der Services-Datenbasis lesen

x

x

endservent()

Services-Datenbasis schließen

x

x

Internet-Adresse manipulieren

inet_addr()

Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Internetadresse)

x


inet_network()

Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Subnetz-Anteil)

x


inet_makeaddr()

Internet-Adresse erstellen aus Subnetz-Anteil und subnetz-lokalem Adressteil

x


inet_lnaof()

aus der Internet-Rechneradresse die lokale Netzadresse in der Byte-Reihenfolge des Rechners extrahieren

x


inet_netof()

aus der Internet-Rechneradresse die Netznummer in der Byte-Reihenfolge des Rechners extrahieren

x


inet_ntoa()

Internet-Rechneradresse in eine Zeichenkette gemäß der üblichen Internet-Punktschreibweise konvertieren

x


inet_pton()

eine IP-Adresse aus der Punkt- bzw. Doppelpunkt-Notation in die binäre Adresse umwandeln

x

x

inet_ntop()

eine binäre IP-Adresse in die Punkt- oder Doppelpunkt-Notation umwandeln

x

x

Hilfsfunktionen

freeaddrinfo()

Speicher einer addrinfo-Struktur freigeben

x

x

freehostent()

Speicher einer hostent-Struktur freigeben

x

x

htonl()

32-bit-Felder von Rechner- in Netz-Byte-Reihenfolge umsetzen

x


htons()

16-bit-Felder von Rechner- in Netz-Byte-Reihenfolge umsetzen

x

x

ntohl()

32-bit-Felder von Netz- in Rechner-Byte-Reihenfolge umsetzen

x


ntohs()

16-bit-Felder von Netz- in Rechner-Byte-Reihenfolge umsetzen

x

x

Steuerfunktionen

fcntl()

Sockets steuern

x

x

ioctl()

Sockets steuern

x

x

Testmakros für AF_INET6

Folgende Testmakros für die Adressfamilie AF_INET6 sind in <netinet/in.h> definiert.

Die Parameter p, p1 und p2 sind in6_addr-Strukturen.

Funktion

Beschreibung

IN6_IS_ADDR_UNSPECIFIED (p)

IPv6-Adresse = unspezifisch (0) ?

IN6_IS_ADDR_LOOPBACK (p)

IPv6-Adresse = Loopback ?

IN6_IS_ADDR_LINKLOCAL (p)

IPv6-Adresse = Link-lokal ?

IN6_IS_ADDR_SITELOCAL (p)

IPv6-Adresse = Site-lokal ?

IN6_IS_ADDR_V4MAPPED (p)

IPv6-Adresse = IPv4-mapped ?

IN6_IS_ADDR_V4COMPAT (p)

IPv6-Adresse = IPv4-kompatibel ?

IN6_ARE_ADDR_EQUAL (p1, p2)

IPv6-Adresse1 = IPv6-Adresse2 ?