navalned has asked for the wisdom of the Perl Monks concerning the following question:
I have the following code that I believe should function as an echo server.
However, when I netcat into the server. I see the greeting and the server immediately closes the connection. I'm probably missing something simple, but not sure what. Thanks!#!/usr/bin/env perl use strict ; use warnings ; use AnyEvent ; use AnyEvent::Handle ; use AnyEvent::Socket ; my $main = AnyEvent->condvar(); tcp_server undef, undef, sub { my ($fh, $host, $port) = @_; my $handle; $handle = AnyEvent::Handle->new( fh => $fh, on_error => sub { my ($hdl, $fatal, $msg) = @_; AE::log error => $msg; $hdl->destroy(); }, on_eof => sub { my ($hdl) = @_; $hdl->destroy(); }, on_read => sub { my ($hdl) = @_; $hdl->push_read(line => sub { my ($hdl, $line) = @_; if ($line =~ m/quit/i) { $hdl->push_write("goodbye\n"); $hdl->destroy(); } $hdl->push_write($line); }); } ); $handle->push_write("Hello $host:$port\n"); }, sub { my ($fh, $thishost, $thisport) = @_; print STDERR "$thishost:$thisport\n"; }; $main->recv();
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: AnyEvent tcp_server not working
by kikuchiyo (Hermit) on Apr 03, 2020 at 22:21 UTC | |
by navalned (Beadle) on Apr 03, 2020 at 22:32 UTC | |
Re: AnyEvent tcp_server not working
by Anonymous Monk on Apr 03, 2020 at 21:37 UTC |
Back to
Seekers of Perl Wisdom