sub server_run_type { my ($server,$keepAlive,$loop,$verbose) = @_; my $i; my $result; if ($sys =~ m/win/ || $loop) { print "Running single model, " if $verbose; print "with Keep Alive = $keepAlive.\n" if $verbose; # Single model for (my $i = 1; $i < $loop; $i++) { $result = &server_run_single($server,$keepAlive,$i,$loop,$verbose); } } else { print "Running multi model with $clientCount client(s), " if $verbose; print "with Keep Alive = $keepAlive.\n" if $verbose; # Forked model $result = &server_run_multi($server,$keepAlive,$verbose); } close($server); return $result; } #### sub server_run_single() { my ($server,$keepAlive,$i,$loop,$verbose) = @_; my $d_count = 0; my $result = 1; print "Running Server loop $i of $loop.\n" if $verbose; # accept and process connections while ( my $client = $server->accept( ) ) { $clientCount = &add_Clientcount($verbose); print "Connected - " . &id_client($client) . "\n"; while ( defined (my $data_recv = <$client>) ) { if ($data_recv =~ m/discon/) { $clientCount = &subt_Clientcount($verbose); $d_count += 1; if ($d_count == $loop) { print "Disconnects = $d_count.\n" if $verbose; # Get out of this loop close($client); } } print STDOUT $data_recv if $verbose; print $client "You said - $data_recv\n" if $verbose; } } print "Exiting loop $i of $loop.\n" if $verbose; return $result; }