#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){} ####