#Server.pl
#!/usr/local/bin/perl
use strict;
use warnings;
use IO::Socket;
my $server = IO::Socket::INET->new(
LocalPort=> 1121,
Type=>SOCK_STREAM,
Reuse=>1,
Listen=>1
)or die ("Could not create server");
while(my $client=$server->accept()){
my $child_pid;
unless(defined ($child_pid=fork())){die"can not fork\n";}
if(defined($child_pid)){
while(my $line = <$client>){
print "CLIENT says:$line\n";
}
}else{
while(my $line = <>){
print $client "$line\n";
}
}
}
close($server);
<>;
####
#Client.pl
use strict;
use warnings;
use IO::Socket;
my $socket = IO::Socket::INET->new(
PeerAddr =>"192.168.1.100",
PeerPort =>1121,
Proto =>"tcp",
Type =>SOCK_STREAM,
)or die ("Could not create client");
#fork the process
my $child_pid;
unless (defined($child_pid=fork())){die("can not fork")};
if(defined($child_pid)){
while(my $line = ){
print $socket $line;
}
}else{
while(my $line = <$socket>){
print "SERVER says: $line\n";
}
}
close($socket);
<>;
####
if(defined($child_pid)){}
if($child_pid){}
if($child_pid==1){}
if($child_pid==0){}
####