perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 20
Click for quality!




11.02.2012 / 23:20

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragFork und Childs einsammeln
Seitenanfang
Hallo,

Nach längerer Zeit bin ich mal wieder dazu gekommen ein wenig in Perl zu Programmieren. Jetzt wollte ich ein kleines Programm schreiben mit einem Server und mehreren Clients die sich zu selbigen connecten. Einen zu verbinden ist schon kein Problem, also bin ich bereit zu dem nächsten Schritt, mittels forks die verbundenen Clients in die entsprechende Schleife zu schicken. Jetzt ist die Frage, was passiert wenn ich per Client den Server beende? Werden die übrigen Kinder automatisch beendet, wenn der Parent beendet wird?

Hier mal ein Ausschnitt aus dem Code... Falls ihr auch andere Verbesserungsvorschläge habt, gerne her damit.

Danke, Lorgoth


while (($Timeout eq "false") && (my $Client = $Server->accept()))
{
if ($pid = fork){ sleep 2; }
elsif (defined $pid){
#Server may run and a connection to a client has been found
Messages::PrintToLog("Client Connected\n");
my $clientHandle = getpeername ($Client) or print "Could not identify Client: $!\n";
my ($port, $iaddr) = unpack_sockaddr_in($clientHandle);
my $clientIP = inet_ntoa($iaddr);
Messages::PrintToLog("Client IP: $clientIP \n");
my $answer = <$Client>;# or $answer = "nothing";
if ($answer eq "AdminUserLogin\n")
{
my $AdminReturn = AdminFunctions::MainCall($Client);
if ($AdminReturn eq "ShutDown")
{
$Timeout = "true";
}
}
}
}

Datum: 19.03.2007-23:00

-






-
-