#include<sys/types.h>
#include<sys/socket.h>
int socket(int domain, int type, int protocol);
Über domain wird die Protokollfamilie festgelegt, die für die
Kommunikation verwendet wird. Mögliche Werte sind:
PF_INET: steht für IPv4 (Internet Protokoll Version 4) Protokolle
PF_INET6: steht für IPv6 (Internet Protokoll Version 6) Protokolle
type bestimmt die Art der Kommunikation. Mögliche Werte sind:
SOCK_STREAM: für verbindungsorientierte Kommunikation
SOCK_DGRAM: für verbindungslose, datagrammorientierte Kommunikation
protocol definiert ein bestimmtes Protokoll, welches vom Socket verwendet
werden soll. Mögliche Werte:
0: für das Standardprotokoll des jeweiligen type
IPPROTO_TCP: Transport Control Protocol (Standard bei SOCK_STREAM)
IPPROTO_UDP: User Datagram Protocol (Standard bei SOCK_DGRAM)
$ man socket
TCP Socket
int sock; /* filedescriptor des Sockets wird hier gespeichert */
sock = socket(PF_INET, SOCK_STREAM, 0);
/*
* PF_INET steht für die Familie der IPv4 Internetprotokolle
* SOCK_STREAM gibt an, dass der Socket verbindungsorientiert arbeiten soll
* 0 bedeutet hier, dass das Standardprotokoll dieser Familie verwendet werden soll (TCP)
*/
if(sock == -1){
/* Fehler */
}
/* Alles hat geklappt */
UDP Socket
int sock; /* filedescriptor des sockets wird hier gespeichert */
sock = socket(PF_INET, SOCK_DGRAM, 0);
/*
* PF_INET steht für die Familie der IPv4 Internetprotokolle
* SOCK_DGRAM gibt an, dass der Socket verbindungslos arbeiten soll
* 0 bedeutet hier, dass das Standardprotokoll dieser Familie verwendet werden soll (UDP)
*/
if(sock == -1){
/* Fehler */
}
/* Alles hat geklappt */