Ein Socket wird mit der Funktion socket() erzeugt:
int s; ... s = socket(domain, type, protocol);
Der Aufruf socket() erzeugt einen Socket in der Domäne domain mit dem Typ type und liefert einen Deskriptor (Integer-Wert) als Rückgabewert. Über diesen Deskriptor kann der neu erzeugte Socket in allen weiteren Aufrufen von Socket-Funktionen referenziert werden.
Die Domänen sind als Konstanten in der Include-Datei <sys/socket.h> definiert. Unterstützt werden folgende Domänen:
Internet-Kommunikationsdomäne AF_INET
Internet-Kommunikationsdomäne AF_INET6
rechnerlokale Kommunikationsdomäne AF_UNIX
Für domain geben Sie deshalb AF_INET, AF_INET6 oder AF_UNIX an.
Die Socket-Typen type sind ebenfalls in der Datei <sys/socket.h> definiert:
Wenn Sie eine verbindungsorientierte Kommunikationsbeziehung über einen Stream-Socket aufbauen wollen, geben Sie SOCK_STREAM für type an.
Wenn Sie eine verbindungslose Kommunikationsbeziehung über einen Datagramm-Socket aufbauen wollen, geben Sie SOCK_DGRAM für type an.
Mit der Angabe 0 für protocol spezifizieren Sie das Standardprotokoll:
TCP beim Socket-Typ SOCK_STREAM
UDP beim Socket-Typ SOCK_DGRAM