in reply to Re^4: Terminal across network
in thread Terminal across network
I've simplified it some, you will need to probably read from the telnet socket using recv instead of <>, since this will hang when telnet sends lines without endling newline characters (which it is apt to do).my $sockets = new IO::Select(); $sockets->add(\*STDIN); my $tel = new IO::Socket::INET( PeerAddr => $hostname, PeerPort => $port, Proto => 'tcp', Timeout => 60 ); die "Can't connect to $hostname ($!)" unless $tel; $sockets->add($tel); while(1) { my @handles; @handles = $sockets->can_read(0.5); foreach $handle (@handles) { if($handle == $tel) { $data = <$tel>; last if(!$data); print STDOUT $data; } elsif ($handle == \*STDIN) { $line = <STDIN>; chomp($line); if ($line eq 'q' || $line eq 'quit') { $finish = 1; last; } else { print $tel $line."\r\n"; } } } }
C.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: Terminal across network
by rockmountain (Sexton) on Oct 22, 2004 at 06:36 UTC |