www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

net-daemon-demo.pl
#!/usr/local/bin/perl -w
# net-daemon-demo.pl -- Unser Umdrehserver mit Net::Daemon

# Wir deklarieren erst eine Subklasse von Net::Daemon
# mit einer eigenen Run()-Methode:
require Net::Daemon;
package MyOhce;
@MyOhce::ISA = qw(Net::Daemon);

sub Run ($) {
    # Diese Funktion wird fuer jeden neuen Client aufgerufen.
    my $self   = shift;
    my $client = $self->{'socket'};
    my ($request, $rc);

    while (1) {
    unless (defined($request = <$client>)) {
        if ($client->error()) {
        $self->Error("Client (read) connection error %s",
                 $client->error());
        }
        $client->close();
        return;
    } else {
        chomp $request;
        $rc = print $client scalar(reverse($request)), "\n";
        unless ($rc) {
        $self->Error("Client (write) connection error %s",
                 $client->error());
        $client->close();
        }
    }
    }
}

# Das ist unser Hauptprogramm: Wir starten einfach den Server.
package main;
use constant MYPORT => 7123;
$server = MyOhce->new({'pidfile'   => "/tmp/mypid",
               'localport' => MYPORT,
                       'mode'      => "fork"}, \@ARGV)
    or die "can't create MyOhce server: $!\n";
$server->Bind();     # Startet Server, kehrt nicht zurueck.
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:01 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo