Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

socketpair() - Ein Paar von verbundenen Sockets erzeugen

&pagelevel(4)&pagelevel

#include <sys/socket.h>

int socketpair(int domain, int type, int protocol, int sv[2]);

Beschreibung

Die Funktion socketpair() erzeugt ein Paar von miteinander verbundenen Sockets ohne Namen.

socketpair() erzeugt das Socket-Paar in der mit dem Parameter domain spezifizierten Adressfamilie (AF_INET oder AF_UNIX), vom Typ type (SOCK_STREAM oder SOCK_DGRAM) und unter Verwendung des optional angegebenen Protokolls protocol. Der Parameter protocol legt ein bestimmtes Protokoll fest, das für den Socket verwendet werden soll.

Da diese Implementierung nur die TCP/IP-Protokollfamilie unterstützt, sind hier nur die Werte 0 (Standardprotokoll), IPPROTO_IP, IPPROTO_TCP und IPPROTO_UDP gültig.

In den Parametern sv[0] und sv[1] werden die Deskriptoren der neuen Sockets zurückgeliefert. Die beiden Sockets sind nicht zu unterscheiden.

Returnwert

0:

Bei Erfolg.

-1:

Bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

EAFNOSUPPORT

Die angegebene Adressfamilie wird an diesem System nicht unterstützt.

EFAULT

Die Adresse sv spezifiziert keinen gültigen Teil des Prozess-Adressbereichs.

EMFILE

Die Tabelle der Deskriptoren pro Prozess ist voll.

ENFILE

Die Dateitabelle des Systems ist voll.

EOPNOTSUPP

Das angegebene Protokoll unterstützt nicht das Erzeugen von Socket-Paaren.

EPROTONOSUPPORT

Der Protokolltyp oder das angegebene Protokoll wird in dieser Domäne nicht unterstützt.

ENOMEM

Ein interner Ressourcen-Engpass ist aufgetreten.

Siehe auch

pipe() in "C-Bibliotheksfunktionen für POSIX-Anwendungen", read(), write()