Perl: Illegal seek

Hallo,

wie kriege ich eine Internet-Verbindung zu einem Perl-Socket aufgebaut ? Die Situation: Ein Perl-Script läuft auf dem Server meines Providers, und soll auf eine ankommende Connection warten, die von einem Java Applet aufgebaut wird. Tuts auch, nur ganz am Schluß (bei accept) meldet das Perl Script: „Illegal seek“. Was bedeutet das, und wie kann ich das abstellen ?

Grüße Ralf

---snip-------------------------------------
#!/usr/bin/perl

print "Content-type: text/plain \n\n";

use Socket;

my $Ok = (1==1);


my $Proto = getprotobyname ('tcp');
my $SocketOk = socket (FH, PF\_INET, SOCK\_STREAM, $Proto);

if ($SocketOk != $Ok)
{
 print ("Socket: " . $! . "\n");
}
else
{
 my $AddrStr = INADDR\_ANY;
 my $Port = 6701;

 my $SIn = sockaddr\_in ($Port, $AddrStr);

 my $BindOk = bind (FH, $SIn);

 if ($BindOk != $Ok)
 {
 print ("Bind: " . inet\_ntoa ($AddrStr) . " " . $! . "\n");
 }
 else
 {
 listen (FH, 1);

 my $AcceptOK = accept (NEW, FH); #--- HIER PASSIERT DER FEHLER !!!

 if ($AcceptOK != $Ok)
 {
 print ("Accept: " . $! . "\n");
 }
 else
 {
 print ("ACCEPTED");

 #--- hier würde es dann weitergehen 
 } 
 } 
}

close (FH);

Hallo,

(bei
accept) meldet das Perl Script: „Illegal
seek“. Was bedeutet das, und wie kann ich
das abstellen ?

Schau Dir doch mal die Beschreibung von access an: access liefert bei Erfolg die verbundene Adresse zurück andernsfalls falsch.
Also
if (accept (bla, bla)) {verbindung hergestellt}
desweiteren solltest Du noch den server auf listen stellen und dir gedanken über einen multithreading server machen…

Lies doch einfach mal die entsprechenden Kapitel in der perlref… da sind Beispielserver drin…

ansonsten kann ich Dir auch noch die quellen von meinen Server-Versuchen raussuchen…

perl -w shoul be mandatory
Larry Wall

Gruß
Arne