gnosti has asked for the wisdom of the Perl Monks concerning the following question:
Any ideas where the problem could be?
#server script use Modern::Perl; use EV; use AnyEvent; use IO::Socket::INET; my $project = my $config = my $text = my $this_engine = {} ; $config->{remote_control_port} = 57000; start_remote(); EV::run(); sub start_remote { my $port = $config->{remote_control_port}; say "Starting remote control listener on port $port"; my $in = $project->{remote_control_socket} = IO::Socket::INET->new +( qw(LocalAddr localhost LocalPort), $port, qw(Proto tcp Type), SOCK_ +STREAM, qw(Listen 1 Reuse 1) ) || die $!; $this_engine->{events}->{remote_control} = AE::io( $in, 0, \&proce +ss_remote_command ) } sub process_remote_command { my $in = $project->{remote_control_socket}; my $socket = $in->accept; $socket->recv(my $input, $in->sockopt(SO_RCVBUF)); logpkg('debug',"Got remote control input: $input"); $socket->send(process_command($input)); } sub logpkg { say join " ", @_ } sub process_command { "processed: ". shift } # client script use Modern::Perl; use IO::Socket::INET; my $tcp = IO::Socket::INET->new( PeerAddr => 'localhost', PeerPort => +'57000', Proto => 'tcp', Type => SOCK_STREAM) || die $!; my $cmd = 'eval $this_track->name'; do_remote_cmd($cmd); do_remote_cmd("greetings"); do_remote_cmd("earthlings"); + + sub do_remote_cmd { my $cmd = shift; $tcp->send($cmd); sleep 1; $tcp->recv(my $result, 65536); say "command: $cmd, result: $result"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Socket error: Cannot determine peer address ($in)
by tye (Sage) on Dec 31, 2013 at 23:31 UTC | |
|
Re: Socket error: Cannot determine peer address
by taint (Chaplain) on Jan 01, 2014 at 04:35 UTC | |
|
Re: Socket error: Cannot determine peer address (solved!)
by gnosti (Chaplain) on Jan 01, 2014 at 08:11 UTC |