Perl Server -> Problem

T

TheTox

Hi! ich arbeite momentan an einem kleinen Server.

nur ich habe dass problem dass sich entweder der child nicht beendet oder dass der komplette server schliesst sobald der client die verbindung trennt.

es soll aber so sein dass der server immer schön brav läuft und sich der child schliesst sobald die connection vom client beendet wird.

hat einer von euch vielleicht eine idee und kann mir helfen?

würde mich freuen thx!

hier der code (kann sein dass beim code ein paar klamern fehlen (musste den server etwas kürzen)

#!/usr/bin/perl
use IO::Socket;

$SIG{CHLD} = sub {wait ()};

$main_sock = new IO::Socket::INET (LocalHost => 'localhost',
LocalPort => 1234,
Proto => 'tcp',
Listen => 5,
);
die "Socket could not be created. Reason: $!" unless $main_sock;

print "\nAccepting connections on Port ...\n";
while ($client = $main_sock->accept()) {
print "Accepted connection from ",
$client->peerhost(), ":", $client->peerport(), "\n";
$pid = fork();
die "Cannot fork: $!" unless defined($pid);
$accept_ToU=0;
if ($pid == 0) {
while (defined ($buf = <$client>)) {
chomp;
($n1, $n2, $n3, $n4, $n5, $n6, $n7, $n8) = split(/\|/,$buf);
print "rec: $buf";
if($n1=="1") {
&send_client($send_txt="Hallo\n");
}
}
exit(0);
}
}
close ($main_sock);
 

Neue Beiträge

Zurück