|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package RemoteProcess;
|
|
|
our @ISA = qw/Subprocess/;
|
|
|
|
|
|
use warnings;
|
|
|
use strict;
|
|
|
|
|
|
use IO::Socket::INET;
|
|
|
|
|
|
use Subprocess;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub new {
|
|
|
my ($class, $host, $port) = @_;
|
|
|
|
|
|
my $self = new Subprocess;
|
|
|
$self->{host} = $host;
|
|
|
$self->{port} = $port;
|
|
|
$self->{sock} = undef;
|
|
|
|
|
|
bless $self, $class;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub start {
|
|
|
my ($self) = @_;
|
|
|
|
|
|
$self->{sock} = new IO::Socket::INET (%{{
|
|
|
PeerAddr => $self->{host},
|
|
|
PeerPort => $self->{port},
|
|
|
}}) || die "Can't connect to $self->{host}:$self->{port}";
|
|
|
|
|
|
$self->{child_in} = $self->{child_out} = $self->{sock};
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
1;
|
|
|
|
|
|
|