|
#!/usr/local/bin/perl -T use strict; use warnings; use IO::Socket; my $socket = new IO::Socket::INET ( LocalPort => 11011, Type => SOCK_STREAM, Listen => SOMAXCONN, Reuse => 1, ); die "Unable to setup socket: $!\n" unless defined $socket; while (defined(my $conn = $socket->accept)) { print $conn scalar localtime, "\n"; $conn->close; } |
IO::Socket von Graham Barr bietet eine komfortablere
Schnittstelle für
den normalen Umgang mit Sockets und unterstützt sowohl
TCP/IP und UDP (IO::Socket::INET) als auch UNIX-Domain-Sockets
(IO::Socket::UNIX).
| |
Der Konstruktor in diesem Beispiel umfaßt vier
Systemaufrufe: socket(2), bind(2),
listen(2) und setsockopt(2).
| |
Der Listen-Parameter geht an den backlog-Parameter
von listen(2).
| |
setsockopt(2) wird hier benötigt, um den Reuse-Parameter
zu berücksichtigen. Normalerweise läßt sich eine verwendete
Portnummer auch nach Beendigung des Dienstes erst nach Ablauf
einer Wartefrist wiederverwenden. Wenn Reuse auf 1 gesetzt
wird, ist dies dann sofort wieder möglich -- und dies ist die
normalerweise bevorzugte Variante.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |