|
Packit |
8bbd3c |
#!/usr/bin/perl
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
use strict;
|
|
Packit |
8bbd3c |
use warnings;
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
use Test::More;
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
use IO::Socket::IP;
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
my $server = IO::Socket::IP->new(
|
|
Packit |
8bbd3c |
Listen => 1,
|
|
Packit |
8bbd3c |
LocalHost => "127.0.0.1",
|
|
Packit |
8bbd3c |
LocalPort => 0,
|
|
Packit |
8bbd3c |
) or die "Cannot listen on PF_INET - $!";
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
my $client = IO::Socket::IP->new(
|
|
Packit |
8bbd3c |
PeerHost => $server->sockhost,
|
|
Packit |
8bbd3c |
PeerPort => $server->sockport,
|
|
Packit |
8bbd3c |
) or die "Cannot connect on PF_INET - $!";
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
my $accepted = $server->accept
|
|
Packit |
8bbd3c |
or die "Cannot accept - $!";
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
my $inet_client = $client->as_inet;
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
isa_ok( $inet_client, "IO::Socket::INET", '->as_inet returns IO::Socket::INET' );
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
is( $inet_client->fileno, $client->fileno, '->as_inet socket wraps the same fileno' );
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
undef $client;
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
$accepted->syswrite( "Message\n" );
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
$inet_client->sysread( my $buffer, 8192 );
|
|
Packit |
8bbd3c |
is( $buffer, "Message\n", '->as_inet still passes data' );
|
|
Packit |
8bbd3c |
|
|
Packit |
8bbd3c |
done_testing;
|