Thomas Elsgaard
2011-03-18 20:53:37 UTC
Hej!
Sidder og kigger lidt på et projekt hvor jeg skal bruge en TFTP server
som integrerer ind i noget perl, overvejer jeg at bruge Net::TFTPd, og
umiddelbart er den ufattelig simpel:
#Code start
use Net::TFTPd;
my $tftpdOBJ = Net::TFTPd->new('RootDir' => '/Users/Thomas/','Timeout' => 60)
or die "Error creating TFTPd listener: %s", Net::TFTPd->error;
my $tftpRQ = $tftpdOBJ->waitRQ(10)
or die "Error waiting for TFTP request: %s", Net::TFTPd->error;
$tftpRQ->processRQ()
or die "Error processing TFTP request: %s", Net::TFTPd->error;
#Code END
Men når jeg læser på hvad der står om waitRQ metoden:
When the method returns, the program should fork() and process the
request invoking processRQ() while the parent process should re-start
waiting for another request.
Så bliver jeg sådan lidt: hmmm skal jeg så have mit script til at
står og genstarte efter hver connection , og ellers hver 10 sekund
(waitRQ (10)), hvordan pokker laver man det pænt? Min første tanke var
at smide det ind i /etc/inittab ... men såvidt jeg husker, så hvis en
process genstarter for hurtigt, så bliver den sat lidt på hold, men
jeg kan jo nemt risikerer at TFTP serveren modtager en del request, så
vil jeg jo ikke have den i karantæne ;-)
Nogen gode ideer?
Thomas
Sidder og kigger lidt på et projekt hvor jeg skal bruge en TFTP server
som integrerer ind i noget perl, overvejer jeg at bruge Net::TFTPd, og
umiddelbart er den ufattelig simpel:
#Code start
use Net::TFTPd;
my $tftpdOBJ = Net::TFTPd->new('RootDir' => '/Users/Thomas/','Timeout' => 60)
or die "Error creating TFTPd listener: %s", Net::TFTPd->error;
my $tftpRQ = $tftpdOBJ->waitRQ(10)
or die "Error waiting for TFTP request: %s", Net::TFTPd->error;
$tftpRQ->processRQ()
or die "Error processing TFTP request: %s", Net::TFTPd->error;
#Code END
Men når jeg læser på hvad der står om waitRQ metoden:
When the method returns, the program should fork() and process the
request invoking processRQ() while the parent process should re-start
waiting for another request.
Så bliver jeg sådan lidt: hmmm skal jeg så have mit script til at
står og genstarte efter hver connection , og ellers hver 10 sekund
(waitRQ (10)), hvordan pokker laver man det pænt? Min første tanke var
at smide det ind i /etc/inittab ... men såvidt jeg husker, så hvis en
process genstarter for hurtigt, så bliver den sat lidt på hold, men
jeg kan jo nemt risikerer at TFTP serveren modtager en del request, så
vil jeg jo ikke have den i karantæne ;-)
Nogen gode ideer?
Thomas