#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 */