use IO::Socket; use IO::Select; $read_set = new IO::Select(); # create handle set for reading $a = new IO::Socket::INET ( LocalHost => 'localhost', LocalPort => '80', Proto => 'tcp', Listen => 1, Reuse => 1, ); $read_set->add($a); $quit = 0; while ($quit == 0) { foreach $rh ($read_set->can_read(20)) { print "start\n"; my $new_sock = $rh->accept(); $temp = $new_sock->connected(); $temp2 = $rh->connected(); print "-$temp--$temp2-\n"; if ( not defined($new_sock->connected) ) { $quit = 1; last; } while(<$new_sock>) { print $_; } if ( not defined($new_sock->connected) ) { $quit = 1; print "not defined anymore\n"; } sleep 3; print "end\n"; $temp = $new_sock->connected(); $temp2 = $rh->connected(); print "-$temp--$temp2-\n"; } } close($sock); #### use IO::Socket; my $sock = new IO::Socket::INET ( PeerAddr => 'localhost', PeerPort => '80', Proto => 'tcp', Timeout => 10, ); die "Could not create socket: $!\n" unless $sock; while ($i < 5) { $i++; print $sock "sending the stuff $i\n"; print "sending the stuff $i\n"; sleep 2; } $sock->close(); sleep 20;