programming-examples/perl/Network/Socket pair.pl

24 lines
570 B
Perl
Raw Normal View History

2019-11-15 12:59:38 +01:00
use Socket;
use IO::Handle;
socketpair(CHILDHANDLE, PARENTHANDLE, AF_UNIX, SOCK_STREAM, PF_UNSPEC)
or die "Could not create socketpair.";
CHILDHANDLE->autoflush(1);
PARENTHANDLE->autoflush(1);
if ($pid = fork) {
close PARENTHANDLE;
print CHILDHANDLE "the parent!\n";
$line = <CHILDHANDLE>;
print "Parent: $line";
close CHILDHANDLE;
waitpid($pid,0);
} else {
close CHILDHANDLE;
$line = <PARENTHANDLE>;
print "Child : $line";
print PARENTHANDLE "from the child!\n";
close PARENTHANDLE;
exit;
}