1#!/usr/bin/perl 2 3use v5; 4use strict; 5use warnings; 6 7use Test::More; 8 9use IO::Socket::IP; 10 11my $server = IO::Socket::IP->new( 12 Listen => 1, 13 LocalHost => "127.0.0.1", 14 LocalPort => 0, 15) or die "Cannot listen on PF_INET - $!"; 16 17my $client = IO::Socket::IP->new( 18 PeerHost => $server->sockhost, 19 PeerPort => $server->sockport, 20) or die "Cannot connect on PF_INET - $!"; 21 22my $accepted = $server->accept 23 or die "Cannot accept - $!"; 24 25my $inet_client = $client->as_inet; 26 27isa_ok( $inet_client, "IO::Socket::INET", '->as_inet returns IO::Socket::INET' ); 28 29is( $inet_client->fileno, $client->fileno, '->as_inet socket wraps the same fileno' ); 30 31undef $client; 32 33$accepted->syswrite( "Message\n" ); 34 35$inet_client->sysread( my $buffer, 8192 ); 36is( $buffer, "Message\n", '->as_inet still passes data' ); 37 38done_testing; 39