Hi,
ich hatte vor ein paar Monaten mal einen Socket-Server geschrieben. Dieser nimmt Clients an, immer nur einen zur Zeit (ok), wenn sich weitere verbinden, werden die gehalten, bis der aktuelle Client die verbindung trennt und der nächste Client nachrückt.
Nun soll aber jeder Client abgelehnt werden, anstatt in der Warteschleife gehalten zu werden, wenn der Server gerade an einem anderem Client hängt.
Das hier ist der Server (der maßgebliche Teil davon):
#!/usr/bin/perl
# Socket Server
use IO::Socket;
use lib "/home/u033389/modules";
use pt;
use show;
my $intern_path = "/home/u033389/public_html/clientfiles/";
my $intern_faxImage_path_src = "/var/spool/capifax/doneq/";
my $intern_faxImage_path_aim = "/home/u033389/public_html/clientfiles/faximages/";
my $extern_path = "http://10.131.19.11/~u033389/clientfiles/";
my $extern_image_path = "http://10.131.19.11/~u033389/clientfiles/faximages/";
my $a_clientname = "client"; # "alphabetic clientname" es kommt noch eine ID hinzu
my $id = 0; # die ID fuer den Clientnamen
my $extension = ".xml";
my $client = 0; # Stellvertreter für einen Client
my $server_socket = new IO::Socket::INET (
LocalPort => 9001,
Listen => $SOMAXCONN,
Proto => 'tcp',
Reuse => 1)
|| die "$!\n";
print "\nWartend....\n";
&read();
$server_socket->close();
print "\nSocket geschlossen, bye\n";
Wenn ich "Listen" nicht als Parameter angebe, dann funktioniert der Server nicht.
Ich glaube, ich brauch nur nen Tipp...[B]\n\n
<!--EDIT|renee|1176384222-->