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