use warnings;
use strict;
use POE;
use POE::Component::Server::TCP;
use Test::TCP;
use Test::More 0.94;
test_tcp(
client => sub {
my $port = shift;
my $sock = IO::Socket::INET->new(
PeerAddr => 'localhost',
PeerPort => $port,
) or die $!;
print $sock "hello\n";
my $res = <$sock>;
is unpack('H*', $res), unpack('H*', "hello\n");
done_testing;
},
server => sub {
my $port = shift;
POE::Component::Server::TCP->new(
Port => $port,
ClientInput => sub { $_[HEAP]->{client}->put($_[ARG0]); },
);
POE::Kernel->run;
},
);