#!/usr/bin/perl use strict; use warnings; use IO::Socket; my $port = 2345; my $quit = 0; $SIG{INT} = sub { $quit++; }; my $socket = IO::Socket::INET->new( Listen => 20, LocalPort => $port, Timeout => 60*60, Reuse => 1) || die "Konnte Socket nicht oeffnen: $!\n"; print "Verbindung auf Port $port wird erwartet...\n"; while(!$quit) { next unless my $session = $socket->accept(); print $session->peerhost."\n"; my $child = fork(); die "Forking nicht mgoelich: $!\n" unless defined $child; unless($child) { $SIG{CHLD} = sub { exit 0; }; $socket->close; my $peer = gethostbyaddr($session->peeraddr,AF_INET) || $session->peerhost; print "Verbindung von $peer auf Port $port akzeptiert\n"; print $session "Hallo $peer\n"; while(<$session>) { print $session "test\n"; } exit 0; } $session->close; }