Tuesday, August 04, 2009

Perl Client Server program

client.pl
#!/usr/bin/perl
use IO::Socket;
use Sys::Hostname;

my $server = IO::Socket::INET->new(
PeerAddr => 'xyz.abc.com',
PeerPort => 5050,
Proto => 'tcp'
) or die "Can't create client socket: $!";

my (@output, $line);
@output = `perl ./report.pl`;

my $host = hostname();
print $server "$host\n";
foreach $line (@output) {
print $server $line;
}

server.pl
#!/usr/bin/perl
use IO::Socket;
my $server = IO::Socket::INET->new(
Listen => 5,
LocalAddr => 'aa.abc.com',
LocalPort => 5050,
Proto => 'tcp'
) or die "Can't create server socket: $!";

my $base_path = '/u03/cm';
my($client, $filename);
while (1) {
$client = $server->accept;
$filename = <$client>;
$filename = "$base_path/$filename/.html";
open FILE, ">$filename" or die "Can't open: $!";
while (<$client>) {
print FILE $_;
}
close FILE;
}