socket - Funktion
Zurück

Die Funktion socket erstellt ein dateiähnliches Objekt. Es ist ein Speicherbereich im Datensegment des Prozesses.
Auf dieses Objekt kann innerhalb des Perlprogramms über Socket_Handle zugegriffen werden.
Es kann aber auch auf dieses Objekt über das Netz zugegriffen werden, wenn das Objekt an einen Port gebunden wird ( bind ) und das BS veranlaßt wird, Anfragen an diesen Port zu registrieren ( listen ).
Die Regeln, wie auf dieses Objekt zugegriffen werden kann, wird durch das Protokoll festgelegt, mit dem gearbeitet wird.
Dazu werden drei Parameter PF_INET, SOCK_packettype, $proto verwendet.

socket(Socket_Handle, PF_INET, SOCK_packettype, $proto);
Socket_Handle
Bezeichner für den Socket, Konvention : erstes Zeichen Großbuchstabe.
PF_INET
Legt das Protokollformat fest. (_P_rotocol_F_ormat _IN_tern_ET_ ? )
Die Konstante ( Integerwert 2 ) wird durch das Modul Socket importiert.
Zur Zeit werden die Protokolle des TCP/IP-Stacks als Internet-Protokolle verwendet.

TCP/IP ... means anything and everything related to the specific protocols of TCP and IP. It can include other protocols, applications, and even the network medium. (...) A more accurate term is "internet technology". A network that uses internet technology is called an "internet" ( RFC 1180 Sec.2 )

SOCK_packettype
Festlegung des Pakettyps, der vom Socket verarbeitet werden soll.
Die Konstanten werden durch das Modul Socket importiert.

SOCK_STREAM bei tcp ( Integerwert 1 )
SOCK_DGRAM bei udp ( Integerwert 2 )

$proto
Protokollnummer (integer) gemäß /etc/protocols ( vgl. getprotobyname )
Beispiel
use Socket;
$proto = getprotobyname('tcp');
socket(SH,PF_INET,SOCK_STREAM,$proto);

Das gleiche leistet

socket(SH,2,1,6);