| Цитата(alezzz @ 21.1.2011, 08:48) | Спасибо, уже разобрался fork-ом.
А вообще, не в стране советов живем, можно и примером поделится.  |
Угу, у нас страна примеров... 8)) У-у, демон. Ну держи:
| Код | #!/usr/bin/perl
use strict; use IO::Socket; use IO::Select;
my $socket = IO::Socket::INET->new( PeerAddr => "192.168.1.1", PeerPort => 80, Proto => "tcp", Type => SOCK_STREAM ) or die "Could't connect: $@\n"; print "Connected...\n";
my $s = IO::Select->new(); $s->add($socket); $s->add(\*STDIN);
LOOP: while(my @handles = $s->can_read){ foreach my $handle (@handles){ if ($handle == \*STDIN){ # если прочитали из STDIN - отправим это дело в наш сокет. my $command = <$handle>; print $socket $command; } else { my $str = <$handle>; if (!defined $str){ # если прочитали undef из готового хендлера - значит он закрылся. print "Server has closed connection.\n"; $s->remove($handle); last LOOP; # т.к. у нас всего два хендлера, то закругляемся. } print $str; } # if handle } # foreach handle } # while
|
|