Leser: 1
6 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
while (my $client = $server->accept()) {
if (fork() == 0) { # child (Kindprozesse kümmern sich um die einzelnen Clients)
$client->autoflush(1);
print $client "Welcome to $0. Please log in.\n";
while (<$client>) {
if (...) {} # prüfen was der client schickt...
elsif (/quit|exit/i) { close $client; last; }
}
} # end if fork() == 0
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my $server = IO::Socket::INET->new(Proto => 'tcp',
LocalPort => $port,
Listen => 5,
Reuse => 1) || die "Socket: $!";
my $select = IO::Select->new($server);
while (my @ready = $select->can_read()) {
foreach my $handle (@ready) {
if ($handle == $server) {
my $newclient = $server->accept();
$newclient->autoflush();
$select->add($newclient);
print $newclient "Hallo, bitte logge dich ein\n";
}
else {
if (defined (my $line = <$handle>)) { # hier steht was der client geschickt hat und dann halt entsprechend reagieren...
}
}
}
}
6 Einträge, 1 Seite |