use IO::Socket;
IO::Socket stellt eine Objektschnittstelle zur Verfügung, mit der Sockets erzeugt und verwendet werden können. Es baut auf der IO-Schnittstelle auf und erbt alle in IO definierten Methoden.
IO::Socket definiert Methoden nur für die Operationen, die bei allen Arten von Sockets üblich sind. Operationen, die für Sockets einer bestimmten Domain gedacht sind, besitzen Methoden, die in Subklassen von IO::Socket definiert sind.
IO::Socket exportiert alle durch Socket definierten Funktionen und Konstanten.
IO::Socket, das eine Referenz auf ein neu erzeugtes Symbol (beachten Sie hierzu auch das Symbol-Paket) darstellt. new kann optional auch Argumente verarbeiten. Diese Argumente liegen als Schlüssel/Wert-Paare vor. new sucht nur nach dem Schlüssel Domain, der dem Konstruktor mitteilt, in welcher Domain das Socket liegen wird. Alle anderen Argumente werden an die Konfigurationsmethode des Pakets für diese Domain übergeben. Siehe unten.
Hinweis: Seit der Version 1.18 ist bei allen IO::Socket-Objekten das Autoflushing standardmäßig aktiviert. Bei früheren Releases ist das nicht der Fall.
IO::Socket-Methoden finden Sie in perlfunc. Sie stellen einfach nur Frontends zu den entsprechenden integrierten Funktionen dar:
socket socketpair bind listen accept send recv peername (getpeername) sockname (getsockname) shutdown
Einige Methoden verwenden etwas andere Argumente als die in perlfunc definierten. Die Schnittstelle soll auf diese Weise etwas flexibler werden. Diese Methoden sind:
PKG nicht angegeben wurde. Das Objekt kann zur Kommunikation mit dem Client verwendet werden, der die Verbindung herstellen will. Im Skalarkontext wird das neue Socket zurückgegeben bzw. undef bei einem Fehler. Im Arraykontext wird ein aus zwei Elementen bestehendes Array zurückgegeben, das das neue Socket und die Peer-Adresse enthält. Bei einem Fehler ist diese Liste leer.
Zusätzlich zur Verfügung stehende Methoden sind:
&AF_INET zurückgegeben.
&SOCK_STREAM zurückgegeben.